Registriert seit: 20.06.2014
Version(en): 2013
Hallo liebes Forum !
Da die For-Next Schleifen ja nur auf numerischer Basis funktionieren, weiß jemand eine Möglichkeit z.B. mit Monatsnamen in Tabellenblättern (Jänner bis Dezember) eine gezielte Schleife zu setzen?
Der Grund ist, dass es vorkommen kann, dass in einer Jahresdatei ein Monats-Tabellenblatt z.B. März-2 zusätzlich eingefügt wird und dann funktioniert For i = 1 To 12 nicht mehr, außer wenn das hinzugefügte TB (13) ans Ende gestellt wird, was aber nicht gewünscht ist. Ich möchte aber nur 1-12 weiter bearbeiten.
Ich wäre für Eure werte Hilfe sehr dankbar.
Liebe Grüße aus Innsbruck
Helmut
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo Helmut,
z.B. so:
Code:
Sub aaa()
Dim i As Long
For i = 1 To 12
Worksheets(Format(DateSerial(1, i, 1), "mmmm")).Activate
Stop 'weiter mit Taste F5
Next i
End Sub
Gruß Uwe
Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28
• heli
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
02.02.2015, 23:25
(Dieser Beitrag wurde zuletzt bearbeitet: 02.02.2015, 23:27 von schauan.)
Hallo Helmut,
Du programmierst für diesen Fall eine Schleife über alle Blätter und Vergleichst die Namen mit der Vorgabe für jeden Monat.
Oder Du erstellst ein Array mir den Blattnamen und nimmst dann das Array als Bezug bzw. Quelle.
Im Prinzip
arrMon = Array("Jan","Feb",...)
For icnt=...
Sheets(arrMon(icnt).activate
Next
Oder Du machst es, wie Uwe geschrieben hat.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• heli
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
Hallo!
Wenn Dein zusätzliches Blatt mit einer Zahl endet, ginge es auch so:
Code:
Sub Machs()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If Not IsNumeric(Right(ws.Name, 1)) * 1 Then
MsgBox ws.Name 'bzw. Dein Code
End If
Next
End Sub
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:1 Nutzer sagt Danke an RPP63 für diesen Beitrag 28
• heli
Registriert seit: 20.06.2014
Version(en): 2013
Hallo Uwe, hallo Andrè, hallo Ralph !
Vielen Dank für Eure Hilfe.
Leider komme ich erst abends dazu einen Test zu machen.
Liebe Grüße
helmut
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi Ralf,
(03.02.2015, 07:57)RPP63 schrieb: Wenn Dein zusätzliches Blatt mit einer Zahl endet, ginge es auch so:
falls ein Blatt gewissermaßen "kopiert" wird, ist das letzte Zeichen immer ein ")", also "März (2)", dann klappt das so vermutlich nicht.
Da er aber ja geschrieben hat "März-2" hast Du Recht.
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
Helmut wollte ja gerade die Kopien unberücksichtigt lassen. So verstehe ich seine Frage.
Gruß Uwe
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
Hi!
Ich auch, deshalb mein Vorschlag ... :30:
(hätte ja auch den Vorteil, dass man sich um die tatsächliche Anzahl der Sheets nicht zu kümmern braucht)
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hi Ralf (RPP63),
Du hast ja so Not Not Recht.

Gruß Uwe
Registriert seit: 20.06.2014
Version(en): 2013
Hallo Ihr Lieben!
Ich habe Ralphs Code verwendet, er funktioniert auch bestens, nur habe ich jetzt ein kleines Problem und komme trotz stundenlangen Versuchen nicht dahinter, wie das zu lösen wäre.
Das liegt leider an mir und meinem zu geringen Wissen.
Ich sollte nämlich z.B. einen in irgendeinem Monatstabellenblatt z.B. April in Zelle E5 eingegebenen Namen nur in die nachfolgenden Monate bis Dezember, aber ohne Berücksichtigung der zusätzlich eingefügten Tabelle übertragen.
Mit For/Next würde es ja funktionieren, wenn die zusätzlich eingefügte Tabelle nicht wäre.
Kann mir bitte jemand von Euch helfen, ich bin schon am Verzweifeln, dass ich nicht dahinter komme.
Vielen Dank
Helmut