VBA auf alle Tabellenblätter anwenden

Bild

Betrifft: VBA auf alle Tabellenblätter anwenden
von: Christoph
Geschrieben am: 19.08.2015 15:32:08

Hallo zusammen,
ich nutze aktuell folgenden Code um Leerzeichen per VBA zu löschen. Nun würde ich diesen gerne auf alle Tabellenblätter in der Arbeitsmappe anwenden - kann mir da jemand helfen.
Danke und Gruß

Sub LeErsetzen()
Dim rngZelle As Range
Dim rngBereich As Range
Dim wks As Worksheet
    Set wks = ThisWorkbook.Worksheets("Dezember 2013")
    Set rngBereich = wks.Range("A2:B20")
    For Each rngZelle In rngBereich
        If IsNumeric(Replace(rngZelle.Value, " ", "")) = True Then
            rngZelle.Value = Replace(rngZelle.Value, " ", "")
        End If
    Next rngZelle
    Set rngBereich = Nothing
    Set wks = Nothing
End Sub

Bild

Betrifft: AW: VBA auf alle Tabellenblätter anwenden
von: Matthias
Geschrieben am: 19.08.2015 15:45:44
Hallo Cristoph,
kurze Schleife hilft:


Sub LeErsetzen()
Dim rngZelle As Range
Dim rngBereich As Range
Dim wks As Worksheet
For Each wks in ThisWorkbook.Worksheets
    Set rngBereich = wks.Range("A2:B20")
    For Each rngZelle In rngBereich
        If IsNumeric(Replace(rngZelle.Value, " ", "")) = True Then
            rngZelle.Value = Replace(rngZelle.Value, " ", "")
        End If
    Next rngZelle
    Set rngBereich = Nothing
Next wks
Set wks = Nothing
End Sub
lg Matthias

Bild

Betrifft: AW: VBA auf alle Tabellenblätter anwenden
von: Christoph
Geschrieben am: 19.08.2015 15:51:07
Hm.... irgendwas hab ich mir wohl beim vorherigen Testn verhauen - denn es funktioniert dein Code nicht. Mein ursprünglicher auch nicht..... schonmal danke - ich geh heute abend nochmal dran.

Bild

Betrifft: AW: VBA auf alle Tabellenblätter anwenden
von: Christoph
Geschrieben am: 19.08.2015 15:56:10
Problem gelöst ! Vielen Dank !!

Bild

Betrifft: Schleife über Sheets
von: RPP63
Geschrieben am: 19.08.2015 15:47:39
Hallo!
Ungetestet:

Sub LeErsetzen()
Dim rngZelle As Range
Dim rngBereich As Range
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheets
   Set rngBereich = wks.Range("A2:B20")
   For Each rngZelle In rngBereich
       If IsNumeric(Replace(rngZelle.Value, " ", "")) = True Then
           rngZelle.Value = Replace(rngZelle.Value, " ", "")
       End If
   Next rngZelle
Next
Set rngBereich = Nothing
End Sub
Gruß Ralf

 Bild

Beiträge aus den Excel-Beispielen zum Thema "VBA auf alle Tabellenblätter anwenden"