Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: cekay am Dezember 01, 2016, 09:18:55 Vormittag

Titel: Office 2010: If auf ganze Spalte vererben
Beitrag von: cekay am Dezember 01, 2016, 09:18:55 Vormittag
Hey,

ich lese mich gerade in VBA ein und komme nun nicht weiter.

Ich hab es nun geschafft die If-Anweisung zu erstellen. Diese arbeitet jedoch nur eine Zeile ab. Ich möchte diese nun auf die 400 dadrunter liegenden "vererben". Wie schaffe ist dies nun?


Zitat
Sub WennUndOder()
    With tbl_januar
   
        If .Range("F2").Value = 1 And .Range("H2").Value = 1 Then .Range("I2").Value = "good"
        If .Range("F2").Value = 1 And .Range("H2").Value = 2 Then .Range("I2").Value = "good"
        If .Range("F2").Value = 1 And .Range("H2").Value = 3 Then .Range("I2").Value = "good"
        If .Range("F2").Value = 2 And .Range("H2").Value = 1 Then .Range("I2").Value = "bad"
   
    End With
   
End Sub


Edit: bzg. nicht die 400 dadrunter liegenden, sondern so viele wie es gibt. Ich glaube sowas funktioniert mit Schleifen, richtig?
Titel: Antw: Office 2010: If auf ganze Spalte vererben
Beitrag von: gmg-cc am Dezember 01, 2016, 11:26:14 Vormittag
Moin,

ungeprüft ...  ;)
Sub WennUndOder()
   Dim lRow As Long, Ze As Long
   With ActiveSheet
      lRow = .Cells(Rows.Count, 1).End(xlUp).Row
      For Ze = 2 To lRow
         If .Range(Ze, 6) = 1 And .Range(Ze, 8) = 1 Then Range(Ze, 9) = "good"
         If .Range(Ze, 6) = 1 And .Range(Ze, 8) = 2 Then Range(Ze, 9) = "good"
         If .Range(Ze, 6) = 1 And .Range(Ze, 8) = 3 Then Range(Ze, 9) = "good"
         If .Range(Ze, 6) = 2 And .Range(Ze, 8) = 1 Then Range(Ze, 9) = "bad"
      Next Ze
    End With
End Sub
Titel: Antw: Office 2010: If auf ganze Spalte vererben
Beitrag von: cekay am Dezember 01, 2016, 12:28:21 Nachmittag
Hey,

ich habe es mittlerweile auch geschaft

Zitat
Sub LoopAcceptable()

    Dim Zeile As Long
    Dim ZeileMax As Long
   
        With tbl_januar
       
            ZeileMax = .UsedRange.Rows.Count
           
                For Zeile = 2 To ZeileMax
               
           
                    If .Range("F" & Zeile).Value = 1 And .Range("H" & Zeile).Value = 1 Then
                       .Range("I" & Zeile).Value = "good"
                    End If
                   
                    If .Range("F" & Zeile).Value = 1 And .Range("H" & Zeile).Value = 2 Then
                       .Range("I" & Zeile).Value = "good"
                    End If
                   
                    If .Range("F" & Zeile).Value = 1 And .Range("H" & Zeile).Value = 3 Then
                       .Range("I" & Zeile).Value = "good"
                    End If
                   
                    If .Range("F" & Zeile).Value = 2 And .Range("H" & Zeile).Value = 1 Then
                       .Range("I" & Zeile).Value = "bad"
                    End If

Mit With spreche ich jedoch nur eine Tabelle an.

Das Ziel ist jedoch drei gleich Tabellen mit der gleich Formatierung anzusprechen.

Kann mir da einer npch helfen?