Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel] Trovare celle vuote in posizioni particolari

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[Excel] Trovare celle vuote in posizioni particolari

Postdi luca2002for » 07/05/06 18:51

Oggi monopolizzo il forum, mi dispiace :-( ma vorrei avere il foglio pronto domattina.
Due problemini riguardanti il ritrovamento di celle vuote situate in posizioni particolari e (ahimè) non fisse.

1) - Trovare la prima cella vuota nel range B1 - IV1 (cioè in sostanza la prima riga del foglio di lavoro, esclusa la cella A1).

2) - Trovare la prima cella vuota nel range B2 - IV2 (in pratica la riga sotto).

Ehm..confido molto nel nord-est e nelle convalescenze post-traumatiche di tipo ortopedico. (Ogni riferimento a fatti o personaggi reali è puramente voluto)....:-)

Grazie e scusatemi

Luca
luca2002for
Utente Senior
 
Post: 116
Iscritto il: 07/05/06 09:32

Sponsor
 

Re: [Excel] Trovare celle vuote in posizioni particolari

Postdi Alexsandra » 07/05/06 20:24

luca2002for ha scritto:1) - Trovare la prima cella vuota nel range B1 - IV1 (cioè in sostanza la prima riga del foglio di lavoro, esclusa la cella A1).
Codice: Seleziona tutto
Sub cella_vuota()
Range("B1:IV1").SpecialCells(xlCellTypeBlanks).Select
End Sub
2) - Trovare la prima cella vuota nel range B2 - IV2 (in pratica la riga sotto).
cambia solo il riferimento al Range da "B1 :IV1" metti "B2:IV2" il resto del codice rimane uguale.
Ciao
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Grazie !!!

Postdi luca2002for » 07/05/06 20:28

Sei un tesoro!
Io per la verità, partendo dai tuoi esempi e andando per tentativi ho scritto un improbabile
Codice: Seleziona tutto
Set zona = Range([B1], [B1].End(xlToRight))
    [B1].End(xlToRight).Select
    ActiveCell.Offset(0, 1).Activate
che però (inspiegabilmente) funziona. Userò i tuoi codici. Non mi fido di ciò che ho scritto.

Grazie, sei unica!
luca2002for
Utente Senior
 
Post: 116
Iscritto il: 07/05/06 09:32

Postdi Alexsandra » 07/05/06 20:38

E' giusto il codice invece,ottieni lo stesso effetto del mio,solo che trovi l'ultima cella piena e dopo con offset ti sposti su quella successiva. I metodi possono essere tanti. :D
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Opsss

Postdi luca2002for » 07/05/06 20:43

Sai, per la verità, la cella giusta me la trova con il mio metodo....ma solo una volta, nel senso che se ri-faccio partire la macro non scrive accanto, ma riscrive sempre in quella cella lì.

Invece il tuo metodo è perfetto, però ho notato che l'incollamento successivo nella cella selezionata avviene per tre volte. Può darsi che questo succeda perchè più sotto ci sono altri numeri....cioè sembrerebbe che il sistema continui a selezionare dalla prima cella vuota fino a quando l'intera colonna è priva di numeri.

Sto provando a risolvere tagliando i valori in più e spostandoli da un'altra parte. Chiaramente dovrò modificare il range.

(Ho un leggerissimo sospetto di essere stato incomprensibile, scusami se è così)...ti faccio sapere come è andata.

Evviva il Veneto !!!! :-) e le ombre ;-)
luca2002for
Utente Senior
 
Post: 116
Iscritto il: 07/05/06 09:32

Postdi luca2002for » 07/05/06 20:50

uhm...no...seleziona sempre cinque celle contigue

....chissà perchè :undecided:

Adesso il foglio è libero sulla destra ma il comando successivo a

Range("I1:IV1").SpecialCells(xlCellTypeBlanks).Select

che un incolla valori (di una sola cella) dà come risultato 5 celle tutte con lo stesso valore e contigue (si tratta, nella fattispecie, di una data)...e non una sola....

capperi....inspiegabile

:-)
luca2002for
Utente Senior
 
Post: 116
Iscritto il: 07/05/06 09:32

Postdi Alexsandra » 07/05/06 20:53

Guarda che il codice lavora sulle righe non sulle colonne,bisogna vedere il resto del codice cosa gli dici di fare.
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Uhm :-)

Postdi luca2002for » 07/05/06 21:01

Dunque, io dovrei trovare la prima cella vuota a destra della cella H1 per copiarci all'interno (copia come valore) una data.

Però se faccio partire il codice
Codice: Seleziona tutto
Range("H1:IV1").SpecialCells(xlCellTypeBlanks).Select


al quale faccio seguire l'incolla
Codice: Seleziona tutto
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False


Trovo come risultato non la cella unica con la data, ma ben cinque...scusami forse, anzi sicuramente mi sono spiegato malissimo

:-)
luca2002for
Utente Senior
 
Post: 116
Iscritto il: 07/05/06 09:32

Postdi Alexsandra » 07/05/06 21:18

quel codice ti trova tutte le celle vuote nel range specificato se hai bisogno di trovare la 1° cella vuota allora usa quello che hai fatto tu e con l'offset ti sposti.
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Eureka :-)

Postdi luca2002for » 07/05/06 22:42

Ecco, così funziona :-)
Codice: Seleziona tutto
 If Range("A1").Value = "" Then
    Range("A1").Select
    Else
    If Range("A1").Value <> "" And Range("B1").Value = "" Then
    Range("B1").Select
    Else: Range("A1").End(xlToRight).Offset(0, 1).Select
    End If
    End If


ciao a tutti!
luca2002for
Utente Senior
 
Post: 116
Iscritto il: 07/05/06 09:32


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Trovare celle vuote in posizioni particolari":


Chi c’è in linea

Visitano il forum: Anthony47 e 6 ospiti