Anzeige
Archiv - Navigation
1204to1208
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

Code vereinfachen/verbessern

Code vereinfachen/verbessern
NewtonZ4
Tach nochmal,
Ich möchte den unten anliegenden Code vereinfachen/verbessern.
Also habe ich gedacht, ich muss nur alle entsprechenden Blätter aktivieren.
Aber dann bekomme ich immer eine Fehlermeldung.
Also die Fragestellung ist, wenn ich so einen oder einen Vergleichbaren Code habe, der sich eigentlich nur in den Blättern wiederholt, wie kann ich das vereinfachen. Ich muss aber die Möglichkeit haben die Blattnamen zu bestimmen, weil der Befehl nur in ausgewählten Blättern ausgeführt werden soll.
Vielen Dank im Voraus!
' **********************************************************************
' Modul: Suchen Ersetzen NULL
' **********************************************************************
Sub SuchenErsetzen
Sheets("M1").Select
Cells.Replace What:="NULL", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Sheets("M1 Flatter").Select
Cells.Replace What:="NULL", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Sheets("M2").Select
Cells.Replace What:="NULL", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Sheets("M2 Flatter").Select
Cells.Replace What:="NULL", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Sheets("M3").Select
Cells.Replace What:="NULL", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Sheets("M3 Flatter").Select
Cells.Replace What:="NULL", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Sheets("M4").Select
Cells.Replace What:="NULL", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Sheets("M4 Flatter").Select
Cells.Replace What:="NULL", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub

Wie gesagt ich habe dann folgendes versucht:
Sub Sortieren()
Sheets(Array("M1 Flatter.csp", "M1.csp", "M2 Flatter.csp", "M2.csp", _
"M3 Flatter.csp", "M3.csp", "M4 Flatter.csp", "M4.csp")).Select
Cells.Replace What:="NULL", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Code vereinfachen/verbessern
04.03.2011 20:55:49
ransi
Hallo
Ich muss aber die Möglichkeit haben die Blattnamen zu bestimmen
Du brauchs nichts zu selekten.
Versuch mal so:
BEi Click auf Ja wird dein Code im entsprechenden Blatt ausgeführt.
Bei NEiIN passiert nix

Public Sub mach_es_oder_lass_es()
    Dim Ws As Worksheet
    For Each Ws In Worksheets
        If MsgBox("In " & Ws.Name & " irgendwas machen ?", vbYesNo) = vbYes Then
            Ws.Cells.Replace What:="NULL", Replacement:="", LookAt:=xlPart, SearchOrder _
                :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
        End If
    Next
End Sub



ransi
Anzeige
AW: Code vereinfachen/verbessern
04.03.2011 21:12:13
NewtonZ4
Danke Ransi,
das funzt ja soweit aber es soll wie gesagt automatisch ablaufen.
Ich habe die Blattnamem wie angegeben, aber es befinden sich noch mehr Blätter in der Arbeitsmappe die diesen Befehl nicht ausführen sollen.
Grüße Stefan
AW: Code vereinfachen/verbessern
04.03.2011 21:11:42
Gerd

Sub SuchenErsetzen()
Dim vntShName As Variant, intIndex As Integer
vntShName = Array("M1", "M1 Flatter", "M2", "M2 Flatter", "M3", "M3 Flatter", "M4", "M4 Flatter" _
)
For intIndex = 0 To UBound(vntShName)
Sheets(vntShName(intIndex)).Cells.Replace What:="NULL", Replacement:="", LookAt:=xlPart,  _
SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Next
End Sub
Gerd
Anzeige
AW: Code vereinfachen/verbessern
04.03.2011 21:20:07
NewtonZ4
Hallo Gerd,
vielen Dank es hat Funktioniert.
Jetzt versuche ich mal meine weiteren Codes die sich ähnlich mit Wiederholungen aufbauen zu ändern.
Grüße Stefan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige