Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Werkzeug
BildScreenshot zu Werkzeug Werkzeug-Seite mit Beispielarbeitsmappe aufrufen

Inhalte mehrerer Sheets löschen und Farbe ändern

Betrifft: Inhalte mehrerer Sheets löschen und Farbe ändern von: Albert
Geschrieben am: 16.11.2012 11:11:09

Guten Morgen zusammen,

ich arbeite mit einem Workbook, welches 34 Sheets beinhaltet.

Nun möchte ich in den 29 Sheets den Bereich M6 bis M35 löschen und den Bereich E6 bis K40 mit der Farbe weiß belegen.

Der Makrorecorder hat folgendes aufgezeichnet.

Sub Zurücksetzten()

    Range("E6:K13").Select
    With Selection.Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Range("B5").Select
Sub end


Den Code habe ich dann in mein Makro eingebaut und das sieht dann wie folgt aus.

Sub test()
Sheets("A1 Führung").Range("M6:M35").ClearContents
Range("B5").Select
    Range("E6:K35").Select
    With Selection.Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
Range("B5").Select

End Sub
Und das Ganze habe ich nun für jedes Sheet gemacht. Funktioniert leider nicht.

Könntet ihr mir vielleicht weiterhelfen?

Mein Gedankengang wäre, dass Sheet W, X, Y, Z nicht von der Lösch- und Farbänderung betroffen ist. Der Rest schon.

Vielen Dank derweil im Voraus.
Albert

  

Betrifft: AW: Inhalte mehrerer Sheets löschen und Farbe ändern von: Marc
Geschrieben am: 16.11.2012 11:57:31

Sub test()

For i = 1 To 29 'sheet 1 bis 29 werden bearbeitet
With Sheets(i)
    .Range("M6:M35").ClearContents
    .Range("E6:K40").Interior.Color = vbWhite
End With
Next i

End Sub
Gruß, MCO


  

Betrifft: AW: Inhalte mehrerer Sheets löschen und Farbe ändern von: Albert
Geschrieben am: 16.11.2012 12:17:42

Hallo Marco,

danke für die schnelle Antwort.

Excel markiert mir das i als unverträglichen Typen.

LG
Albert


  

Betrifft: AW: Inhalte mehrerer Sheets löschen und Farbe ändern von: Marc
Geschrieben am: 16.11.2012 12:56:33

Hi!
Füge folgendes noch am Anfang ein

Dim i as single
Gruß, MCO


  

Betrifft: AW: Inhalte mehrerer Sheets löschen und Farbe ändern von: Rudi Maintaire
Geschrieben am: 16.11.2012 12:49:21

Hallo,

Sub test()
  Dim wks As Worksheet
  For Each wks In Worksheets
    Select Case LCase(wks.Name)
      Case "w", "x", "y", "z"
        'nix passiert
      Case Else
        With wks
          .Range("M6:M35").ClearContents
          With .Range("E6:K35")
            .PatternColorIndex = xlAutomatic
            .ThemeColor = xlThemeColorDark1
            .TintAndShade = 0
            .PatternTintAndShade = 0
          End With
        End With
    End Select
  Next
End Sub

Gruß
Rudi


  

Betrifft: AW: Inhalte mehrerer Sheets löschen und Farbe ändern von: Albert
Geschrieben am: 16.11.2012 13:05:32

Servus Rudi,

anbei mal mein Code um deinen Beitrag erweitert.

Private Sub Neue_Performance_Click()
'Dim intR As Integer
Dim wks As Worksheet

'intR = MsgBox("Möchten sie wirklich eine neue PE erstellen?", vbYesNo)
'If intR = 6 Then

  For Each wks In Worksheets
    Select Case LCase(wks.Name)
      Case "Deckblatt", "Mitarbeitersysteme", "Qualitätssysteme", "Materialsysteme", "Methoden  _
und Werkzeuge", "Ergebnisauswertung"
        'nix passiert
      Case Else
        With wks
          .Range("M6:M35").ClearContents
          With .Range("E6:K35")
            .PatternColorIndex = xlAutomatic
            .ThemeColor = xlThemeColorDark1
            .TintAndShade = 0
            .PatternTintAndShade = 0
          End With
        End With
    End Select
  Next
'Call Commandbutton_zurücksetzen
'End If
End Sub
Excel zeigt mir den Fehler 438 "Objekt unterstützt diese Eigenschaft oder Methode nicht"

An was könnte das liegen?

LG
Albert


  

Betrifft: AW: Inhalte mehrerer Sheets löschen und Farbe ändern von: Rudi Maintaire
Geschrieben am: 16.11.2012 13:18:58

Hallo,
1. Du musst die Tabellennamen klein schreiben, da LCase(wks.Name) abgefragt wird.
2. In welcher Zeile kommt der Fehler? Evtl. verbundene Zellen in den Bereichen?

Gruß
Rudi


  

Betrifft: AW: Inhalte mehrerer Sheets löschen und Farbe ändern von: Albert
Geschrieben am: 16.11.2012 13:27:02

Hi Rudi,

das kann sein, dass verbundene Zellen vorkommen.

Muss ich die jetzt alle lösen?

Die wks-Namen hab ich nun kleingeschrieben.

LG
Albert


  

Betrifft: AW: Inhalte mehrerer Sheets löschen und Farbe ändern von: Rudi Maintaire
Geschrieben am: 16.11.2012 13:52:10

Hallo,
Muss ich die jetzt alle lösen?
kann sein, muss aber nicht.

Ich weiß noch immer nicht, wo der Fehler auftritt.
Beispielmappe?

Gruß
Rudi


  

Betrifft: AW: Inhalte mehrerer Sheets löschen und Farbe ändern von: Albert
Geschrieben am: 16.11.2012 14:11:49

Hallo,

die Firmendatei kann ich nicht ins Netz stellen. Sorry.

Wenn ich das Makro manuell laufen lasse, dann bleibt immer das Deckblatt markiert.

Also so wirklich funktioniert das nicht. Hier nochmal der verwendete Code:

Private Sub Neue_Performance_Click()

Dim wks As Worksheet

  For Each wks In Worksheets
    Select Case LCase(wks.Name)
      Case "deckblatt", "mitarbeitersysteme", "qualitätssysteme", "materialsysteme", "methoden  _
und werkzeuge", "ergebnisauswertung", "d2 5s_support"
        'nix passiert
      Case Else
        With wks
          .Range("M6:M35").ClearContents
          With .Range("E6:K35")
            With Selection.Interior
                .PatternColorIndex = xlAutomatic
                .ThemeColor = xlThemeColorDark1
                .TintAndShade = 0
                .PatternTintAndShade = 0
            End With
          End With
        End With
    End Select
  Next

End Sub
LG
Albert


  

Betrifft: AW: Inhalte mehrerer Sheets löschen und Farbe ändern von: Albert
Geschrieben am: 16.11.2012 14:39:36

Hi Rudi,

da fällt mir noch was ein.

Ich hab Bereiche in den einzelnen Sheets benannt.

Sheet1 E6:J16 wären z.B. Bewertung1,
Sheet2 E6:J13 wären z.B. Bewertung2, usw.

Könnte man da auch ansetzen?

LG
Albert


  

Betrifft: AW: Inhalte mehrerer Sheets löschen und Farbe ändern von: Rudi Maintaire
Geschrieben am: 16.11.2012 15:23:12

Hallo,
With Selection.Interior
lösche Selection

Gruß
Rudi


  

Betrifft: was ist denn eigentlich ... von: Rudi Maintaire
Geschrieben am: 16.11.2012 12:50:37

hiermit? https://www.herber.de/forum/messages/1286349.html


  

Betrifft: AW: was ist denn eigentlich ... von: Albert
Geschrieben am: 16.11.2012 12:59:33

Servus Rudi,

da bin ich noch am Ausprobieren. Noch nicht abgeschlossen. Bin erst gestern abends wieder eingeflogen.

Mfg
Albert


 

Beiträge aus den Excel-Beispielen zum Thema "Inhalte mehrerer Sheets löschen und Farbe ändern"