Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tabellenblatt immer ganz vorne

Forumthread: Tabellenblatt immer ganz vorne

Tabellenblatt immer ganz vorne
07.10.2005 13:40:26
Marco
besteht die möglichkeit mit einem marko vielleicht, dass ein Tabellenblatt immer ganz vorne, also an erster stelle ist ?
ich hab ein script das kopiert mir ganz viele tabellen in eine arbeitsmappe und dann steht eine tabelle an letzter stelle, die sollte aber an erster stelle stehen. oder kann ich das schon beim import irgendwie ins script einbauen das tabelle xy an erster position stehen soll ?
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Sheets(Sheets.Count).Move Before:=Sheets(1)
07.10.2005 14:05:59
Heiko
Hallo Marco,
z.B. so:
Sheets(Sheets.Count).Move Before:=Sheets(1)
Gruß Heiko

PS: Rückmeldung wäre nett !
AW: Sheets(Sheets.Count).Move Before:=Sheets(1)
07.10.2005 14:14:57
Marco
ja und einfach in den code der tabelle einfügen oder wie ?
AW: Sheets(Sheets.Count).Move Before:=Sheets(1)
07.10.2005 14:27:49
Heiko
Hallo Marco,
VBA GUT oder wie ?!
EXCEL Öffnen.
Die Mappe mit dem Code zum zusammenkopieren öffnen.
Mit ALT + F11 den Visual Basic Editor öffnen.
Die Stelle suchen wo das zusammenkopieren beendet ist, also alle Tabellenblätter drin sind.
Dann diesen Code da einfügen: Sheets(Sheets.Count).Move Before:=Sheets(1)
Testen.
Bei Erfolg, Rückmeldung mit:
"Hallo Heiko,"
"Danke für die Hilfe, hat gut geklappt."
"Gruß Marco" bei Herber.
Bei Misserfolg, Rückmeldung bei Herber mit Problembeschreibung.
Und wenn Problem erfolgreich gelöst, nochmal kurz in den Forumsseiten bei "Forums FAQ" reinschauen, könnte helfen !
Gruß Heiko
Anzeige
AW: Sheets(Sheets.Count).Move Before:=Sheets(1)
07.10.2005 15:09:48
Marco
entschuldigen sie, dass ich nicht gleich bescheid wusste wohin damit.
nein es funktioniert nicht. hier mal mein code :

Sub Start()
arrFolder(1) = "\_test\"
arrFolder(3) = "\_test\"
boolConvert = True
intAnzahl = 1
For i = 5 To 500
If Sheets("test").Cells(i, 17) <> "" Then
intAnzahl = intAnzahl + 1
End If
Next i
intAnzahl = intAnzahl - 1
FrmStatus.PB1.Max = intAnzahl
If MsgBox("Soll der Importvorgang gestartet werden?", vbYesNo, "Starten...") = vbNo Then
Exit Sub
End If
Application.ScreenUpdating = False
Application.DisplayAlerts = False
intCounter = 5
While ThisWorkbook.Sheets("test").Cells(intCounter, 17) <> ""
intAktuellesWorkbook = intAktuellesWorkbook + 1
strFileName = ThisWorkbook.Path & arrFolder(1) & ThisWorkbook.Sheets("test").Cells(intCounter, 17)
Workbooks.Open strFileName, , False
strNameFile = ActiveWorkbook.Name
'****  Code für SheetTransport
Workbooks(strNameFile).Activate
intAnzahl = ActiveWorkbook.Sheets.Count
For i = 1 To 1
Workbooks(strNameFile).Sheets(i).Copy Before:=ThisWorkbook.Sheets(1)
Next i
'****  Code Ende
Workbooks(strNameFile).Close
FrmStatus.PB1.Value = intAktuellesWorkbook
intCounter = intCounter + 1
Wend
MsgBox "Alle Sheets erfolgreich kopiert!", vbInformation, "Fertig..."
boolConvert = False
End Sub

Anzeige
AW: Sheets(Sheets.Count).Move Before:=Sheets(1)
10.10.2005 08:10:47
Marco
kann mir keiner helfen ?
;
Anzeige
Anzeige

Infobox / Tutorial

Tabellenblatt immer ganz vorne halten


Schritt-für-Schritt-Anleitung

Um sicherzustellen, dass ein Tabellenblatt immer ganz vorne in Deiner Excel-Arbeitsmappe steht, kannst Du den folgenden VBA-Code verwenden. Das Beispiel zeigt, wie Du das letzte Blatt an die erste Position verschieben kannst:

  1. Öffne Excel und die Arbeitsmappe, in der Du arbeiten möchtest.

  2. Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  3. Füge einen neuen Modul hinzu, indem Du mit der rechten Maustaste auf "VBAProject" klickst, dann "Einfügen" und "Modul" wählst.

  4. Kopiere und füge den folgenden Code in das Modul ein:

    Sub MoveSheetToFront()
        Sheets(Sheets.Count).Move Before:=Sheets(1)
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro aus, indem Du auf Entwicklertools > Makros klickst und MoveSheetToFront auswählst.

Dieses Skript verschiebt das letzte Tabellenblatt immer an die erste Position, sodass es ganz vorne steht.


Häufige Fehler und Lösungen

  1. Das Makro funktioniert nicht.

    • Stelle sicher, dass Du das Makro richtig eingefügt hast und dass Deine Excel-Version Makros unterstützt.
  2. Das falsche Blatt wird verschoben.

    • Überprüfe den Code und stelle sicher, dass Sheets(Sheets.Count) das richtige Blatt referenziert. Möglicherweise musst Du den Index anpassen.
  3. Fehlermeldung beim Ausführen des Makros.

    • Achte darauf, dass Du die Datei im .xlsm-Format speicherst, um Makros zu aktivieren.

Alternative Methoden

Eine andere Möglichkeit, ein Tabellenblatt immer ganz vorne zu halten, ist die Verwendung von Ereignisprozeduren. Du kannst den folgenden Code in das Arbeitsblattmodul einfügen:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If Sh.Name = "DeinTabellenblattName" Then
        Sh.Move Before:=Sheets(1)
    End If
End Sub

Dieser Code sorgt dafür, dass das spezifische Tabellenblatt jedes Mal an die erste Position verschoben wird, wenn es aktiviert wird.


Praktische Beispiele

Angenommen, Du hast ein Tabellenblatt mit dem Namen "Bericht", das Du immer ganz vorne haben möchtest. Du kannst den Code wie folgt anpassen:

Sub MoveReportToFront()
    Sheets("Bericht").Move Before:=Sheets(1)
End Sub

Führe dieses Makro aus, und das Blatt "Bericht" wird an die erste Position verschoben.


Tipps für Profis

  • Nutze die Application.ScreenUpdating = False und Application.DisplayAlerts = False Befehle, um die Ausführung des Makros zu beschleunigen und Benutzermeldungen während des Vorgangs zu unterdrücken.
  • Überlege, ob Du das Verschieben des Tabellenblatts in einer Schleife einbauen möchtest, um mehrere Blätter gleichzeitig zu verschieben.

FAQ: Häufige Fragen

1. Kann ich diesen Code auch für mehrere Tabellenblätter verwenden? Ja, Du kannst eine Schleife verwenden, um mehrere Blätter auf einmal zu verschieben.

2. Funktioniert das in Excel Online? Leider ist die Verwendung von VBA in Excel Online nicht möglich. Du musst Excel auf dem Desktop verwenden.

3. Was, wenn ich Excel 2016 oder älter benutze? Der VBA-Code funktioniert in den meisten Excel-Versionen, die Makros unterstützen, einschließlich Excel 2016 und älter. Achte darauf, die Datei im richtigen Format zu speichern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige