Supportnet / Forum / Tabellenkalkulation
Arbeitsblatt umbenennen
Frage
Hallo Leute!
Ich habe folgendes Problem unter Excel:
Zwecks Auswertung habe ich für jeden Tag des Jahres ein neues Arbeitsblatt angelegt. Jeweils mit dem Datum im Format: 01.01.03
Also 365 Arbeitsblätter. ICh möchte gerne das 03 gegen 04 ersetzen. Wie mache ich das ohne jedes Arbeitsblatt einzeln umzubenennen.
Hat jemand eine LÖSUNG!!!!
Excel ist 2003....
Danke im voraus.....
Gruß Compiweb
Antwort 1 von nighty
hi :)
das ist einfach :)
Sub Makro1()
On Error GoTo fehler
For i% = 1 To Sheets.Count + 1
Sheets(i%).Select
a1$ = Mid$(Sheets(i%).Name, 1, Len(Sheets(i%).Name) - 2) + "04"
Sheets(i%).Name = a1$
Next i%
End
fehler:
Resume Next
End Sub
gruss nighty
das ist einfach :)
Sub Makro1()
On Error GoTo fehler
For i% = 1 To Sheets.Count + 1
Sheets(i%).Select
a1$ = Mid$(Sheets(i%).Name, 1, Len(Sheets(i%).Name) - 2) + "04"
Sheets(i%).Name = a1$
Next i%
End
fehler:
Resume Next
End Sub
gruss nighty
Antwort 2 von nighty
hi :)
dieses koennte auch weg,wenn es sicher ist das keine doppelten namen vorkommen.
On Error GoTo fehler
End
fehler:
Resume Next
gruss nighty :)
dieses koennte auch weg,wenn es sicher ist das keine doppelten namen vorkommen.
On Error GoTo fehler
End
fehler:
Resume Next
gruss nighty :)
Antwort 3 von nighty
hi :)
ops kleiner fehler grrr
so mit fehler routine und darunter ohne fehlerroutine
Sub Makro1()
On Error GoTo fehler
For i% = 1 To Sheets.Count
Sheets(i%).Select
a1$ = Mid$(Sheets(i%).Name, 1, Len(Sheets(i%).Name) - 2) + "04"
Sheets(i%).Name = a1$
Next i%
End
fehler:
Resume Next
End Sub
Sub Makro1()
For i% = 1 To Sheets.Count
Sheets(i%).Select
a1$ = Mid$(Sheets(i%).Name, 1, Len(Sheets(i%).Name) - 2) + "04"
Sheets(i%).Name = a1$
Next i%
End Sub
endgueltig grrr
gruss nighty
p.s.
mir fehlt einer der eine endcontrolle macht :(
ops kleiner fehler grrr
so mit fehler routine und darunter ohne fehlerroutine
Sub Makro1()
On Error GoTo fehler
For i% = 1 To Sheets.Count
Sheets(i%).Select
a1$ = Mid$(Sheets(i%).Name, 1, Len(Sheets(i%).Name) - 2) + "04"
Sheets(i%).Name = a1$
Next i%
End
fehler:
Resume Next
End Sub
Sub Makro1()
For i% = 1 To Sheets.Count
Sheets(i%).Select
a1$ = Mid$(Sheets(i%).Name, 1, Len(Sheets(i%).Name) - 2) + "04"
Sheets(i%).Name = a1$
Next i%
End Sub
endgueltig grrr
gruss nighty
p.s.
mir fehlt einer der eine endcontrolle macht :(
Antwort 4 von Excelneuling
Ich würde es ja gerne testen..Nur wo gebe ich das ganze ein...siehe NAME...Ich bin mehr oder weniger Neuling....
Gruß
Exelneuling
Gruß
Exelneuling
Antwort 5 von anno_58
also nighty, da auch noch "das ist einfach" drüber zu schreiben ist schon fast eine Frechheit *fg*
ich Glaube meine Lösung ist etwas einfacher, setzt aber voraus, dass als BS W9X oder w2k läuft.
In das Verzeichnis wechseln, in dem deine Auswertungen stehen. Über Start/Programme/Zubehör die Eingabeaufforderung aufmachen. Mit dem Befehl Dir/W siehst du dir an wie deine Auswertungen im Dos-Modus heisssen. Möglicherweise werden sie mit ~ abgekürzt.
Angenommen deine Dateien heissen Auswert010103.xls bis Auswert311203.xls lautet die Syntax:
Ren_Auswert????03.xls_Auswert????04.xls
Die Unterstriche _ markieren Leerstellen!
Das ist die Lösung wenn du sie wirklich umbenennen willst. Willst du die ursprünglichen Eingaben in deine Auswertungen behalten kannst du mit dem Copy Befehl die ursprünglichen Arbeitblätter behalten. Syntax ist die Gleich, nur statt Ren Copy.
Gruß Anno
Rückmeldung wäre nett.
ich Glaube meine Lösung ist etwas einfacher, setzt aber voraus, dass als BS W9X oder w2k läuft.
In das Verzeichnis wechseln, in dem deine Auswertungen stehen. Über Start/Programme/Zubehör die Eingabeaufforderung aufmachen. Mit dem Befehl Dir/W siehst du dir an wie deine Auswertungen im Dos-Modus heisssen. Möglicherweise werden sie mit ~ abgekürzt.
Angenommen deine Dateien heissen Auswert010103.xls bis Auswert311203.xls lautet die Syntax:
Ren_Auswert????03.xls_Auswert????04.xls
Die Unterstriche _ markieren Leerstellen!
Das ist die Lösung wenn du sie wirklich umbenennen willst. Willst du die ursprünglichen Eingaben in deine Auswertungen behalten kannst du mit dem Copy Befehl die ursprünglichen Arbeitblätter behalten. Syntax ist die Gleich, nur statt Ren Copy.
Gruß Anno
Rückmeldung wäre nett.
Antwort 6 von anno_58
Jetzt hab ich möglicherweise daneben gegriffen.
Sag mal Excekneuling, ist das so zu verstehen, dass du eine Arbeitsmappe mit 365 Blättern hast?
Gruß Anno
Rückmeldung wäre nett.
Sag mal Excekneuling, ist das so zu verstehen, dass du eine Arbeitsmappe mit 365 Blättern hast?
Gruß Anno
Rückmeldung wäre nett.
Antwort 7 von nighty
hi anno
schniff,hatte doch nur das +1 falschgemacht
er hat 365 sheets :) WOW
einfach wars trotzdem,das +1 war fluechtigkeitsfehler von mir grrrrr
gruss nighty
p.s.
beschreibung folgt grrrrr
schniff,hatte doch nur das +1 falschgemacht
er hat 365 sheets :) WOW
einfach wars trotzdem,das +1 war fluechtigkeitsfehler von mir grrrrr
gruss nighty
p.s.
beschreibung folgt grrrrr
Antwort 8 von nighty
hi alle
so ist der code einzusetzen und zu starten :)
0)den code von hier markieren/kopieren
exel
1)extras/makros/visualbasic-editor
2)einfuegen/modul
3)in dem modulfenster erste zeile anfang curser setzen und rechte moustaste menue einfuegen
4)in dem modulfenster erste zeile anfang curser setzen
5)ausfuehren/sub/userform ausführen
jetzt sind alle 365 sheets umbenannt :)
da das makro jetzt ja nicht mehr gebraucht wird,makro text markieren,del taste,und somit ist es wieder weg.
gruss nighty
so ist der code einzusetzen und zu starten :)
0)den code von hier markieren/kopieren
exel
1)extras/makros/visualbasic-editor
2)einfuegen/modul
3)in dem modulfenster erste zeile anfang curser setzen und rechte moustaste menue einfuegen
4)in dem modulfenster erste zeile anfang curser setzen
5)ausfuehren/sub/userform ausführen
jetzt sind alle 365 sheets umbenannt :)
da das makro jetzt ja nicht mehr gebraucht wird,makro text markieren,del taste,und somit ist es wieder weg.
gruss nighty
Antwort 9 von Frank1
super Lösung nighty, hab auch wieder was gelernt!
Und an Excelneuling: Denk dran, daß du den 29.02. noch manuell einfügen mußt :-)
Tolles Jahr für die Arbeitgeber :-)
mfg frank
Und an Excelneuling: Denk dran, daß du den 29.02. noch manuell einfügen mußt :-)
Tolles Jahr für die Arbeitgeber :-)
mfg frank
Antwort 10 von Excelneuling
Hallo Leute!
Es ist richtig das ich ein Arbeitsblatt mit 365 Tagen habe...äh für 2004 366 Tage...
Jeder Tag ein Arbeitsblatt...die Lösung mit den Makros funktioniert auch...Allerdings habe ich jetzt noch 3 Arbeitsblätter die keine Datums sondern normale Namen haben..dort wird jetzt leider auch die Jahreszahl angehängt...Die drei Blätter kann ich schnell per Hand ändern, besser als 365...Kann man das vielleicht auch noch beeinflussen...s.o. Format ist 01.01.03?
Bisher haben Eure Tips supie geklappt....Danke im voraus...
Excelneuling
Es ist richtig das ich ein Arbeitsblatt mit 365 Tagen habe...äh für 2004 366 Tage...
Jeder Tag ein Arbeitsblatt...die Lösung mit den Makros funktioniert auch...Allerdings habe ich jetzt noch 3 Arbeitsblätter die keine Datums sondern normale Namen haben..dort wird jetzt leider auch die Jahreszahl angehängt...Die drei Blätter kann ich schnell per Hand ändern, besser als 365...Kann man das vielleicht auch noch beeinflussen...s.o. Format ist 01.01.03?
Bisher haben Eure Tips supie geklappt....Danke im voraus...
Excelneuling
Antwort 11 von nighty
hi alle
als bezug bleibt wohl nur das dritte und sechste zeichen ,das jeweils ein punkt ist,dann vielleicht so,eine moeglichkeit :)
gruss nighty
mit fehler routine ohne behandlung
Sub Makro1()
On Error GoTo fehler
For i% = 1 To Sheets.Count + 1
a1$ = Mid$(Sheets(i%).Name, 1, Len(Sheets(i%).Name) - 2) + "04"
If Mid$(a1$, 3, 1) = "." And Mid$(a1$, 6, 1) = "." Then
Sheets(i%).Select
Sheets(i%).Name = a1$
End If
Next i%
End
fehler:
Resume Next
End Sub
ohne fehler routine
Sub Makro1()
For i% = 1 To Sheets.Count
a1$ = Mid$(Sheets(i%).Name, 1, Len(Sheets(i%).Name) - 2) + "04"
If Mid$(a1$, 3, 1) = "." And Mid$(a1$, 6, 1) = "." Then
Sheets(i%).Select
Sheets(i%).Name = a1$
End If
Next i%
End Sub
gruss nighty
als bezug bleibt wohl nur das dritte und sechste zeichen ,das jeweils ein punkt ist,dann vielleicht so,eine moeglichkeit :)
gruss nighty
mit fehler routine ohne behandlung
Sub Makro1()
On Error GoTo fehler
For i% = 1 To Sheets.Count + 1
a1$ = Mid$(Sheets(i%).Name, 1, Len(Sheets(i%).Name) - 2) + "04"
If Mid$(a1$, 3, 1) = "." And Mid$(a1$, 6, 1) = "." Then
Sheets(i%).Select
Sheets(i%).Name = a1$
End If
Next i%
End
fehler:
Resume Next
End Sub
ohne fehler routine
Sub Makro1()
For i% = 1 To Sheets.Count
a1$ = Mid$(Sheets(i%).Name, 1, Len(Sheets(i%).Name) - 2) + "04"
If Mid$(a1$, 3, 1) = "." And Mid$(a1$, 6, 1) = "." Then
Sheets(i%).Select
Sheets(i%).Name = a1$
End If
Next i%
End Sub
gruss nighty
Antwort 12 von nighty
hi alle
ohje ich werds nicht los :(
das buedde wegnehmen das +1 grrrr
in dieser zeile
For i% = 1 To Sheets.Count + 1
gruss nighty
ohje ich werds nicht los :(
das buedde wegnehmen das +1 grrrr
in dieser zeile
For i% = 1 To Sheets.Count + 1
gruss nighty

