Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1400to1404
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Werte löschen in 30 TABS's, per Schleife

Werte löschen in 30 TABS's, per Schleife
15.01.2015 12:39:20
Dieter(Drummer)
Guten Tag, Makro Spezialisten,
ich möchte in den 30 TAB's "VeraBsV01)und den TAB's "VeraV02" bis "VeraV30" Werte löschen. Die zu löschenden Werte sind in allen TAB's in den gleichen Zelladressen.
Bisher rufe ich im Makro jeden TAB einzeln auf und lösche die Werte in der Tabelle und dies dann 30 mal.
Mein bisheriger Code ist:
  • 'Jahresaltwerte löschen
    Sub MgJahrWertRaus()
    Application.ScreenUpdating = False
    Windows("RabVeraMg.xls").Activate
    'VeraBsV01
    Sheets("VeraBsV01").Select
    Application.xlAutomatic = False 'Berechnungsautomatic aus
    'Löschen Altwerte
    Range( _
    "B16:B45,B49:B77,B81:B111,B115:B145,B148:B178,B182:B212,B215:B245,B249:B279,B283:B312,B316:B346,B350:B380,B383:B413" _
    ).Select
    Selection.ClearContents
    Range("A2").Select
    'VeraV02
    Sheets("VeraV02").Select
    Application.xlAutomatic = False 'Berechnungsautomatic aus
    Range( _
    "B16:B45,B49:B77,B81:B111,B115:B145,B148:B178,B182:B212,B215:B245,B249:B279,B283:B312,B316:B346,B350:B380,B383:B413" _
    ).Select
    Selection.ClearContents
    Range("A2").Select

  • usw. bis "VeraV30".
    Kann man das nicht per Schleife durch alle 30 TAB's machen, da ja alle zu löschenden Werte in jedem Tab, in der gleichen Zelladresse gelöchet werden sollen?
    Wäre schön, wenn mir da geholfen werden kann.
    Gruß,
    Dieter(Drummer)

    12
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Werte löschen in 30 TABS's, per Schleife
    15.01.2015 12:43:07
    Rudi
    Hallo,
    Ohne Select!!!
    Schema:
    for i=2 to 30
    Sheets("verav" &Format(i,"00").Range(....).clearcontents
    nexti
    

    Gruß
    Rudi

    AW: Sehe ich das richtig, dass
    15.01.2015 12:57:12
    Dieter(Drummer)
    Danke Rudi für Deine Rückmeldung.
    An welcher Stelle des Makros muss ich den Deine Angaben einfügen, da ja die erste Tabelle "VeraBsV01" heißt und dann erst die nächsten Tabellen "VeraV02" bis "VeraV30"?
    Gruß, Dieter(Drummer)

    AW: Sehe ich das richtig, dass
    15.01.2015 13:12:40
    Rudi
    Hallo,
    nach dem Löschen in VeraBSV01.
    Sub MgJahrWertRaus()
    Dim i As Integer
    Const sRange As String = _
    "B16:B45,B49:B77,B81:B111,B115:B145,B148:B178,B182:B212," _
    & "B215:B245,B249:B279,B283:B312,B316:B346,B350:B380,B383:B413"
    With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
    End With
    With Workbooks("RabVeraMg.xls")
    .Sheets("VeraBsV01").Range(sRange).ClearContents
    For i = 2 To 30
    .Sheets("VeraV" & Format(i, "00")).Range(sRange).ClearContents
    Next i
    End With
    Application.Calculation = xlCalculationAutomatic
    End Sub
    

    Gruß
    Rudi

    Anzeige
    AW: Danke Rudi, einfach perfekt!
    15.01.2015 13:22:38
    Dieter(Drummner)
    Gruß, Dieter(Drummer)

    AW: @Rudi: Makro hängt bei ...
    15.01.2015 14:58:32
    Dieter(Drummer)
    Hallo Rudi,
    dieses Makro rufe ich auf und dann bleibt es bei:
    .Sheets("VeraBsV01").Range(sRange).ClearContents
    leider hängen mit Markierung gelb.
    Du siehst, dass ich die zu löschenden Zellen erweitert habe, aber da wird es wohl nicht dran liegen.
    Die Datei "RabVeraMg.xls" ist geladen.
    Hier das gesamte Makro:
  • 
    Sub MgJahrWertRaus()
    Dim i As Integer
    Const sRange As String = _
    "B16:B45,B49:B77,B81:B111,B115:B145,B148:B178,B182:B212," _
    & "B215:B245,B249:B279,B283:B312,B316:B346,B350:B380,B383:B413," _
    & "D16:D45,D49:D77,D81:D111,D115:D145,D148:D178,D182:D212," _
    & "D215:D245,D249:D279,D283:D312,D316:D346,D350:D380,D383:D413," _
    & "F16:F45,F49:F77,F81:F111,F115:F145,F148:F178,F182:F212," _
    & "F215:F245,F249:F279,F283:F312,F316:F346,F350:F380,F383:F413," _
    & "H16:H45,H49:H77,H81:H111,H115:H145,H148:H178,H182:H212," _
    & "H215:H245,H249:H279,H283:H312,H316:H346,H350:H380,H383:H413," _
    & "J16:J45,J49:J77,J81:J111,J115:J145,J148:J178,J182:J212," _
    & "J215:J245,J249:J279,J283:J312,J316:J346,J350:J380,J383:J413," _
    & "L16:L45,L49:L77,L81:L111,L115:L145,L148:L178,L182:L212," _
    & "L215:L245,L249:L279,L283:L312,L316:L346,L350:L380,L383:L413"
    With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
    End With
    With Workbooks("RabVeraMg.xls")
    .Sheets("VeraBsV01").Range(sRange).ClearContents
    For i = 2 To 30
    .Sheets("VeraV" & Format(i, "00")).Range(sRange).ClearContents
    Next i
    End With
    Application.Calculation = xlCalculationAutomatic
    End Sub
    

  • Wäre schön wenn Du nochmal helfen kannst.
    Gruß, Dieter(Drummer)

    Anzeige
    AW: Zuviele zu löschende Zellen?
    15.01.2015 18:16:01
    Dieter(Drummer)
    Hi Spezialisten,
    Dieses Makro läuft ohne Probleme und es werden Zellen nur in B und D gelöscht:
  • 
    Sub MgJahrWertRaus()
    Dim i As Integer
    Const sRange As String = _
    "B16:B45,B49:B77,B81:B111,B115:B145,B148:B178,B182:B212," _
    & "B215:B245,B249:B279,B283:B312,B316:B346,B350:B380,B383:B413," _
    & "D16:D45,D49:D77,D81:D111,D115:D145,D148:D178,D182:D212," _
    & "D215:D245,D249:D279,D283:D312,D316:D346,D350:D380,D383:D413"
    With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
    End With
    With Workbooks("RabVeraMg.xls")
    .Sheets("VeraBsV01").Range(sRange).ClearContents
    For i = 2 To 30
    .Sheets("VeraV" & Format(i, "00")).Range(sRange).ClearContents
    Next i
    End With
    Application.Calculation = xlCalculationAutomatic
    End Sub
    

  • Wenn ich diese Variante laufen lasse, bleibt das Makro hängen (fette Zeile):
  • 
    Sub MgJahrWertRaus()
    Dim i As Integer
    Const sRange As String = _
    "B16:B45,B49:B77,B81:B111,B115:B145,B148:B178,B182:B212," _
    & "B215:B245,B249:B279,B283:B312,B316:B346,B350:B380,B383:B413," _
    & "D16:D45,D49:D77,D81:D111,D115:D145,D148:D178,D182:D212," _
    & "D215:D245,D249:D279,D283:D312,D316:D346,D350:D380,D383:D413," _
    & "F16:F45,F49:77,F81:F111,F115:F145,F148:F178,F182:F212," _
    & "F215:F245,F249:F279,F283:F312,F316:F346,F350:F380,F383:F413"
    With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
    End With
    With Workbooks("RabVeraMg.xls")
    .Sheets("VeraBsV01").Range(sRange).ClearContents
    For i = 2 To 30
    .Sheets("VeraV" & Format(i, "00")).Range(sRange).ClearContents
    Next i
    End With
    Application.Calculation = xlCalculationAutomatic
    End Sub
    

  • Was ist da falsch?
    Mit der Bitte um weitere Hilfe.
    Gruß, Dieter(Drummer)

    Anzeige
    AW: Zuviele zu löschende Zellen?
    15.01.2015 18:45:53
    Rudi
    Hallo,
    das sind wohl zu viele Bereiche.
    Sub MgJahrWertRaus()
    Dim i As Integer, j As Integer
    Const sRange As String = _
    "B16:B45,B49:B77,B81:B111,B115:B145,B148:B178,B182:B212," _
    & "B215:B245,B249:B279,B283:B312,B316:B346,B350:B380,B383:B413"
    With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
    End With
    With Workbooks("RabVeraMg.xls")
    .Sheets("VeraBsV01").Range(sRange).ClearContents
    For i = 2 To 30
    For j = 0 To 4 Step 2
    .Sheets("VeraV" & Format(i, "00")).Range(sRange).Offset(, j).ClearContents
    Next j
    Next i
    End With
    Application.Calculation = xlCalculationAutomatic
    End Sub
    

    Gruß
    Rudi

    Anzeige
    AW: Danke Rudi, das hab ich mir ...
    15.01.2015 18:53:43
    Dieter(Drummer)
    schon gedacht.
    Ich nehme halt mehrere Makros, die jeweils nur 2 Spaltenbereiche löschen, so muss ich halt drei Makros nehmen, um insgesamt 6 Spaltenbereiche zu löschen.
    Schade, aber da kann man wohl nichts machen.
    Danke und Gruß,
    Dieter(Drummer)

    AW: Danke Rudi, das hab ich mir ...
    15.01.2015 19:00:56
    Rudi
    Hallo,
    man kann schon was machen.
    Eine Lösung für B, D, F hab ich dir ja geschickt.
    Gruß
    Rudi

    AW: Rudi, hab's jetzt so gelöst und es geht
    15.01.2015 19:07:36
    Dieter/Drummer)
    Danke Rudi, da komm ich schon mit klar.
    Gruß, Dieter(Drummer)
    'von Rudi Maintaire am 15.01.2015 13:12:40
    'MgV01 Jahresaltwerte löschen
    Sub MgJahrWertRaus1()
    Dim i As Integer
    Const sRange As String = _
    "B16:B45,B49:B77,B81:B111,B115:B145,B148:B178,B182:B212," _
    & "B215:B245,B249:B279,B283:B312,B316:B346,B350:B380,B383:B413," _
    & "D16:D45,D49:D77,D81:D111,D115:D145,D148:D178,D182:D212," _
    & "D215:D245,D249:D279,D283:D312,D316:D346,D350:D380,D383:D413"
    With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
    End With
    With Workbooks("RabVeraMg.xls")
    .Sheets("VeraBsV01").Range(sRange).ClearContents
    For i = 2 To 30
    .Sheets("VeraV" & Format(i, "00")).Range(sRange).ClearContents
    Next i
    End With
    'Application.Calculation = xlCalculationAutomatic
    Call MgJahrWertRaus2
    End Sub
    Sub MgJahrWertRaus2()
    Dim i As Integer
    Const sRange As String = _
    "F16:F45,F49:F77,F81:F111,F115:F145,F148:F178,F182:F212," _
    & "F215:F245,F249:F279,F283:F312,F316:F346,F350:F380,F383:F413," _
    & "H16:H45,H49:H77,H81:H111,H115:H145,H148:H178,H182:H212," _
    & "H215:H245,H249:H279,H283:H312,H316:H346,H350:H380,H383:H413"
    With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
    End With
    With Workbooks("RabVeraMg.xls")
    .Sheets("VeraBsV01").Range(sRange).ClearContents
    For i = 2 To 30
    .Sheets("VeraV" & Format(i, "00")).Range(sRange).ClearContents
    Next i
    End With
    'Application.Calculation = xlCalculationAutomatic
    Call MgJahrWertRaus3
    End Sub
    Sub MgJahrWertRaus3()
    Dim i As Integer
    Const sRange As String = _
    "J16:J45,J49:J77,J81:J111,J115:J145,J148:J178,J182:J212," _
    & "J215:J245,J249:J279,J283:J312,J316:J346,J350:J380,J383:J413," _
    & "L16:L45,L49:L77,L81:L111,L115:L145,L148:L178,L182:L212," _
    & "L215:L245,L249:L279,L283:L312,L316:L346,L350:L380,L383:L413"
    With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
    End With
    With Workbooks("RabVeraMg.xls")
    .Sheets("VeraBsV01").Range(sRange).ClearContents
    For i = 2 To 30
    .Sheets("VeraV" & Format(i, "00")).Range(sRange).ClearContents
    Next i
    End With
    Application.Calculation = xlCalculationAutomatic
    End Sub
    

    Anzeige
    AW: Rudi, hab's jetzt so gelöst und es geht
    15.01.2015 19:22:44
    Rudi
    Hallo,
    da die Bereiche alle nebeneinande liegen, musst du nur meinen letzen Code nehmen und die Schleife in
    For j=0 to 8 Step 2
    ändern.
    Dann brauchst du nur 1 Code.
    Gruß
    Rudi

    AW: Rudi, mit der Umsetzung bin ich ...
    15.01.2015 20:20:46
    Dieter(Drummer
    leider überfordert. Da reicht mein Wissenstand nicht.
    Wäre natürlich toll, wenn Du das noch für mich einbauen könntest.
    Gruß, Dieter(Drummer)

    300 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige