prüfen, ob eine zelle leer ist, dann for/next

29/07/2009 - 14:27 von klaus.könig | Report spam
hallo

ist das der beste code, um eine for-next-schleife erst dann laufen zu
lassen, wenn die zelle nicht leer ist

Sub EinhErmitteln()
Dim ersteZeile As Long, letzteZeile As Long
Dim i
Dim varZelle As Variant
ersteZeile = Range("B14").Row 'Zàhler für die erste Zeile
ersteZeile = ersteZeile + 1 'Zàhler um 1 erhöht, damit nach der
Spaltenüberschrift begonnen wird.
letzteZeile = Range("B14").End(xlDown).Offset(0, 0).Row 'Zàhler für
die letzte Zeile
'MsgBox ersteZeile
'MsgBox letzteZeile
For i = ersteZeile To letzteZeile
If Range("B" & ersteZeile).Value = "" Then Exit For
Range("E" & i).FormulaLocal = "=SVERWEIS(B" & i &
";xTab_Massnahmen!$A$3:$L$22;6;FALSCH)"
Next



End Sub
 

Lesen sie die antworten

#1 michlchen
29/07/2009 - 15:01 | Warnen spam
so wie du es hier aufgeschrieben hast, wird er bei der ersten leeren
zelle abbrechen. exit for (also im schlimmsten fall gleich am ersten
feld.)

warum nimmst du nicht ne do loop schleife.

range("A14").select
do
If Range("B" & activecell.row).Value <> "" then
' mache sverweis
end if
activecell.offset(1,0).select
loop untill activecell.row > letztezeile


wenn du noch ein i drinen brauchst, dann setz vor das do das i=1 und
in die schleife vor das offset i=i +1



On 29 Jul., 14:27, klaus.könig wrote:
hallo

ist das der beste code, um eine for-next-schleife erst dann laufen zu
lassen, wenn die zelle nicht leer ist

Sub EinhErmitteln()
Dim ersteZeile As Long, letzteZeile As Long
Dim i
Dim varZelle As Variant
ersteZeile = Range("B14").Row 'Zàhler für die erste Zeile
ersteZeile = ersteZeile + 1 'Zàhler um 1 erhöht, damit nach der
Spaltenüberschrift begonnen wird.
letzteZeile = Range("B14").End(xlDown).Offset(0, 0).Row 'Zàhler für
die letzte Zeile
'MsgBox ersteZeile
'MsgBox letzteZeile
        For i = ersteZeile To letzteZeile
            If Range("B" & ersteZeile).Value = "" Then Exit For
            Range("E" & i).FormulaLocal = "=SVERWEIS(B" & i &
";xTab_Massnahmen!$A$3:$L$22;6;FALSCH)"
        Next

End Sub

Ähnliche fragen