|
Domanda.
nome=FILIPPO
cognome=SAPONARO
versione=2000
conosco2=medio
vba=SI
macro=SI
email=fsaponaro@virgilio.it
chr=333
problema=Ciao Ennius,
Il mio problema che ho provato a risolvere cercando nel tuo bellissimo e
utilissimo sito è il seguente:
Dovrei verificare se nel range D2:D100 esistono celle vuote e nel caso
copiare il contenuto della cella precedente.
Esempio: la cella D2 contiene "filippo" la cella D3 non contiene nulla e
quindi vorrei copiarci dentro il contenuto della cella D2 e se la cella D4 a
sua volta non contiene nulla vorrei copiarci dentro il contenuto della cella
D3 che è diventato "filippo". Se ci fosse nel tuo sito la risposta al mio
quesito ti chiedo scusa per la mia disattenzione e ti prego di indicarmela.
Ti ringrazio anticipatamente e attendo tue notizie.
Risposta.
ciao Filippo, eccoti la soluzione; funziona sul range da te indicato. Se hai
necessità potrai variare sia la riga di partenza sia la colonna sulla quale
intervenire. Le istruzioni dovresti capirle:
Sub alimenta()
Dim iRow As Integer
iRow = 2 'si imposta il numero riga dal quale
'iniziare il controllo, quindi iRow ora è
uguale a 2
Do While Cells(iRow, 4).Value <> "" 'Fino a che
la cella
'(ora la2, colonna 4) è diversa da vuoto, si
passa
'con iRow = iRow + 1 alla riga successiva
iRow = iRow + 1
'ora si controlla se questa nuova cella è vuota
If Cells(iRow, 4).Value = "" Then
'in caso sia vuota ci si copia il valore della
cella
'sovrastante, stessa colonna
Cells(iRow, 4).Value = Cells(iRow, 4).Offset(-1, 0).Value
End If 'finisce la condizione.
'sotto si controlla il numero di riga e alla
200
'si interrompe e si esce dal ciclo
If iRow = 200 Then Exit Do
'altrimenti si continua
Loop
End Sub
Guarda che almeno un valore nella cella iniziale (la D2) ci sia, altrimenti
non funziona.
un saluto, fammi sapere, ennius
|