Schleife in VBA

Bild

Betrifft: Schleife in VBA
von: Rebeca V.
Geschrieben am: 15.07.2015 09:33:51

Hallo ihr Lieben,
ich bin neu in der VBA Welt und habe dementsprechend Probleme meine Vorstellungen in einen richtigen Code umzusetzen.
Es geht im Prinzip darum:
Wenn in Spalte A nichts steht, soll der Inhalt bestimmter Zellen (F5 und I5:M5) gelöscht werden und die Werte aus bestimmten Zellen in andere kopiert werden (z.B. G5 nach F5 und H5 nach G5). Dies soll für alle Zeilen geschehen, bis in Spalte A "Stopp" steht. Ich habe die Datei für besseres Verständnis angehangen.
https://www.herber.de/bbs/user/98828.xlsx
Der Code den ich bisher geschrieben habe, sieht wie folgt aus:

Public Sub Löschen()
Dim Eingabe_Personalkosten As Worksheet
Sheets("Eingabe_Personalkosten").Select
For i = 9 To 999
    
    If Eingabe_Personalkosten.Cells(i, 1) = 1 Then
    
    Range("F9").Select
    Selection.ClearContents
    
    Range("I9:L9").Select
    Selection.ClearContents
    Range("G9").Select
    Selection.Copy
    Range("F9").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Range("G9").Select
    Selection.ClearContents
    
    Else: If Eingabe_Personalkosten.Cells(i, 1) = "Stopp" Then End If
    
  Exit For
  
Next i
    
End Sub

Vielen lieben Dank schonmal für die Hilfe.
Liebe Grüße
Rebeca

Bild

Betrifft: AW: Schleife in VBA
von: Armin
Geschrieben am: 15.07.2015 10:02:53
Hallo Rebeca,
so sollte Dein Code auschauhen:

Public Sub Loeschen()
Dim I As Integer
For I = 9 To 999
    If Tabelle1.Cells(I, 1) = 1 Then
        Range("F9").ClearContents  ' ist in Deinem Fall nicht nötig!
        Range("I9:L9").ClearContents
        Range("G9").Copy
        Range("F9").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
        Range("G9").ClearContents
        Else
         If Tabelle1.Cells(I, 1) = "Stopp" Then
         Exit For
        End If
    End If
Next I
End Sub
Gruß Armin

Bild

Betrifft: AW: Schleife in VBA
von: Rebeca V.
Geschrieben am: 15.07.2015 10:25:55
Hallo Armin,
Vielen lieben Dank für deine Hilfe. Das klappt super.
Habe den mittleren Teil etwas abgeändert damit das Löschen/Kopieren auch in jeder entsprechenden Zeile funktioniert. Damit kann ich arbeiten. Danke dir!
Liebe Grüße
Rebeca

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Schleife in VBA"