Sto tentando di semplificare un foglio Excel con cui lavoro settimanalmente.
Sto cercando di creare una macro VBA che farebbe quanto segue:
- Cerca la colonna C per qualsiasi cella che contiene testo, se vuoto ignora
- Se il testo viene trovato in una cella, copia quella cella, incolla l'offset contenuto (2,1)
Qualsiasi aiuto chiunque possa darmi, lo apprezzerei molto. Ho cercato altre macro e ho tentato di modificarle per il mio uso senza alcun risultato.
**Example Before Macro**
A B C D E
1 Hi
2 Test
3
4 Done
5
6
**Example After Macro Has Been Run**
A B C D E
1 Hi
2 Test
3 Hi
4 Done Test
5
6 Done
Codice corrente:
Sub CopyC()
Dim SrchRng As Range, cel As Range
Set SrchRng = Range("C1:C10")
For Each cel In SrchRng
If InStr(1, cel.Value) > 0 Then
cel.Offset(2, 1).Value = "-"
End If
Next cel
End Sub
risposte:
1 per risposta № 1Sei vicino:
Sub CopyC()
Dim SrchRng As Range, cel As Range
Set SrchRng = Range("C1:C10")
For Each cel In SrchRng
If cel.Value <> "" Then
cel.Offset(2, 1).Value = cel.Value
End If
Next cel
End Sub
Ho aggiunto 1-6 nella colonna D per mostrare che sta ignorando gli spazi vuoti