2016-08-24 2 views
0

Ich habe fast Null Kenntnisse in Excel und VBA. Was ich versuche die folgendes zu tun:Excel VBA - Finden Sie alle Zeilen mit einem bestimmten Wert und erhalten Sie ihre Zeilennummer

for each row in ActiveSheet.ListObjects("SheetPotatoData") 
    if cell (column 5):(row) value equals "potato" 
     do something with (column 2):(row) 

Ich würde wirklich schätzen, wenn Sie mich auf die richtige Syntax aufklären könnte, dies zu tun.

Vielen Dank!

+0

https://www.google.co.uk/search?q=get+range+value+vba&sourceid=ie7&rls=com.microsoft:en-GB:IE- Adresse & ie = & oe = & safe = aktiv & gfe_rd = cr & ei = 3Ia9V8XpKZDCaPvoj6gC & gws_rd = ssl –

Antwort

3

Schau mal hier: http://www.excel-easy.com/vba/range-object.html

For i = 1 To ActiveSheet.ListObjects("TableNameHere").ListRows.Count 
    If Cells(i,5).Value = "potato" Then 
     Cells(i,2).Value = "New value" 
    End If 
Next 
+0

Vielen Dank, dass Sie mir keinen Link zu einer Google-Suche gegeben haben :) Genau das habe ich gesucht! Ich habe einfach die 50 durch ActiveSheet.ListObjects ("TableNameHere") ersetzt. ListRows.Count und es führt jetzt eine Schleife für die gesamte Tabelle. – Sinros

+0

Aktualisierte Antwort mit 'ActiveSheet.ListObjects (" TableNameHere "). ListRows.Count' –

Verwandte Themen