Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1712to1716
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

Marko für unterschiedliche Tabellenblätter

Marko für unterschiedliche Tabellenblätter
02.10.2019 14:24:13
Fabian
Hallo,
Ich möchte in einer Arbeitsmappe ein Marko auf unterschiedlichen Tabellenblättern ausführen lassen.
Bis jetzt habe ich keine Beispiele für den Fall gefunden.
Immer nur für Tabellenblätter von x bis y.
Ich benötige aber zum Beispiel Tabelle 1, Tabelle 3, Tabelle 7 & Tabelle 12.
Mein Code der ausgeführt werden soll:
Sub Datumformat_AB()
Range("A56").NumberFormat = "MMM YY"
Range("B56").NumberFormat = "MMM YY"
Range("A56") = Date
Range("A56").Value = DateAdd("m", -1, Range("A56").Value)
Range("B56") = Date
End Sub

Dieser soll auf den oben genannten Beispiel Tabellenblättern ausgeführt werden.
Vielleicht hat ja jemand eine fixe Idee, Danke.

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Marko für unterschiedliche Tabellenblätter
02.10.2019 14:25:13
Fabian
Ich meine natürlich Makro :-)
AW: Marko für unterschiedliche Tabellenblätter
02.10.2019 14:32:54
EtoPHG
Hallo,
Je nachdem ob mehr Tabellenblätter aus- oder einzuschliessen sind, wählt man die kleinere Menge als die aus, deren Namen (oder mind. gleichlautende Teile davon) in einem Array (fix) gespeichert werden und schliesst sie dann einem For Each Konstrukt ein- oder aus. Dazu müsste man mehr über dein Vorhaben wissen:
1. Sind es eine fixe Anzahl Blätter oder können neue dazu kommen?
2. Was für Merkmale haben aus- bzw. ein-zuschliessende Blätter?
3. Welche Zellen-Bereiche in diesen Blättern sind von Eigenschaftsmanipulationen betroffen?
Gruess Hansueli
Anzeige
AW: Marko für unterschiedliche Tabellenblätter
02.10.2019 14:33:17
Philipp
Hallo Fabian,
falls ich Dich richtig verstehe, dann reicht es, wenn Du im Visual Basic ein Modul einfügst
oder den Code unter "Diese Arbeitsmappe" ablegst.
Falls Du mit dem Code aus einem anderen Blatt die genannten Blätter ansprechen möchtest,
dann musst Du nur Sheets("Tabelle 1"). vor die jeweiligen Range-Befehle setzen (bzw. den
jeweiligen Namen des Blattes, das Du ansprechen möchtest).
Falls Du den Vorgang für alle Blätter in einer Datei ausführen möchtest, dann kannst
Du das einfach über eine Schleife machen.
Am einfachsten ist es hierbei, die Blätter nach chronologischer Reihenfolge durchzugehen:
Sub Schleife_Blätter()
For i = 1 to activeworkbook.sheets.count step 1
>>> DEIN CODE...
Next i
End Sub
Viele Grüße
Philipp
Anzeige
sheets-collection ist oft eine Fehlerquelle...
02.10.2019 14:40:32
EtoPHG
Philipp,
Weil hier auch alle anderen Blättertypen eingeschlossen sind, also nicht nur Arbeitsblätter.
Darum Hände (Code) weg und lieber ThisWorkbook.WorkSheets als Datenbasis benutzen.
Gruess Hansueli
AW: Marko für unterschiedliche Tabellenblätter
02.10.2019 14:35:45
Daniel
Hi
das Tabellenblatt muss halt vor der jeweiligen Range angegeben werden.
du könntest dir hier mit einer Schleife über zu bearbeitendne Blätter behelfen.
noch ein paar Tips:
- die WITH-Klammer hilft, Code zu kürzen und übersichtlicher zu gestalten.
das bei WITH beschriebene Objekt kann in der Folge durch einen einfachen Punkt ersetzt werden.
- Zellen, die direkt nebeneinander liegen und gleich bearbeitet werden, kann man gemeinsam bearbeiten:
dim TB
for each TB in Array("Tabelle 1", "Tabelle 3", "Tabelle 7" , "Tabelle 12")
With Sheets("TB")
.Range("A56:B56").NumberFormat = "MMM YY"
.Range("B56").Value = Date
.Range("A56").Value = DateAdd("m", -1, Date)
end with
next
Gruß Daniel
Anzeige
AW: Marko für unterschiedliche Tabellenblätter
02.10.2019 14:53:56
Fabian
Das sieht doch schon gut aus. Sowas hatte ich mir vorgestellt.
Allerdings bekomme ich, nachdem ich natürlich die Namen meiner Blätter im Code angepasst habe, einen Fehler.
"Index ausserhalb des gültigen Bereichs" in der Zeile "With Sheets("TB")".
Kann das am Namen der Blätter liegen? Vielleicht habe ich da was übersehen.
müsste WorkSheets(TB) heissen! (owT)
02.10.2019 14:58:14
EtoPHG

AW: müsste WorkSheets(TB) heissen! (owT)
02.10.2019 15:04:03
Fabian
Das war der Fehler. Jetzt funktioniert es.
Danke an alle für die schnelle Hilfe.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige