/ / Trova valore in colonna, Riempi fino a Cella non vuota - excel, vba, excel-vba

Trova valore in colonna, riempilo fino a cella non vuota - excel, vba, excel-vba

Sto riscontrando problemi nel trovare un modo per utilizzare una macro per fare quanto segue:

Sto trovando l'ultima fila popolata di Col A ecompensare una colonna sopra per incollare un valore in Colonna B. Vorrei prendere quel testo che è stato messo in Col B e riempire / copiare-a tutte le celle vuote sopra di esso, fino a una cella non vuota.

Ogni loop inserisce una stringa diversa nella colonna B, motivo per cui spero di trovare un modo per incollare quella stringa sulla riga finché non colpisce una cella non vuota,

Per esempio:

A                  B
Header        Header
9/30/14
9/30/14
9/30/14
9/30/14        text1
9/30/14
9/30/14
9/30/14
9/30/14        text2

Per assomigliare:

A                  B
Header        Header
9/30/14        text1
9/30/14        text1
9/30/14        text1
9/30/14        text1
9/30/14        text2
9/30/14        text2
9/30/14        text2
9/30/14        text2

Mi scuso se questo è terribilmente confuso! Qualsiasi aiuto sarebbe molto apprezzato!

risposte:

1 per risposta № 1

Non con una macro (anche se potrebbe essere registrata):

Seleziona ColonnaB, Ctrl + G, Speciale, seleziona Vuoti, OK, =, Down, Ctrl + Invio.


1 per risposta № 2

Mi piace molto la soluzione "pnuts" e consiglierei che se i tuoi dati sono semplici come mostrato, questo bit di codice VBA dovrebbe anche essere in grado di fornire il risultato desiderato se stai cercando una soluzione VBA:

Sub tgr()

Dim rngBlanks As Range
Dim BlankArea As Range

Set rngBlanks = Range("B1", Cells(Rows.Count, "B").End(xlUp)).SpecialCells(xlCellTypeBlanks)

For Each BlankArea In rngBlanks.Areas
BlankArea.Value = BlankArea.Cells(1).Offset(BlankArea.Cells.Count).Value
Next BlankArea

End Sub

-1 per risposta № 3

Prova qualcosa di simile, modifica per soddisfare i tuoi gusti:

Sub answer()
lastA = Range("A65000").End(xlUp).Row
lastB = Range("B" & lastA).End(xlUp).Row + 1
value2Paste = "Whatever U want"
Range("B" & lastB & ":B" & lastA) = value2Paste
End Sub