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

VBA - Letzte Tabelle Finden und Formel einfügen

Forumthread: VBA - Letzte Tabelle Finden und Formel einfügen

VBA - Letzte Tabelle Finden und Formel einfügen
André
Hallo Forum,
ich habe jetzt ein paar VBA Funktionen gefunden und in meine Datei eingebaut,
komme aber trotzdem nicht zum Schluss.
Ich habe 5 Tabellenblätter (1 - 5). Für die KW 6 will ich per VBA ein neues Blatt
einfügen und in A1 der Tabelle6 mittels Makro die Funktion
"vorheriges Tabellenblatt (5) Zelle A1 + 1 eingeben, damit im Tabellenblatt 6 in A1 eine 6 erscheint.
In der nächsten Woche (7) das selbe Spiel. Gehe in das letzte Tabellenblatt, (6) kopiere
die Tabelle, gehe in A1 und gibt die Formel Tabelle 6 A1 + 1 ein, damit in Tabelle 7 in A1 eine 7 erscheint.
Habt ihr noch ne Idee oder Lösung für mich.

Sub NeueTabelle()
' NeueTabelle Makro
Sheets(Sheets.Count).Select
Sheets(Sheets.Count).Copy After:=Sheets(Sheets.Count)
'   "Jetzt möchte ich die Formel aus A1 der voherigen tabelle in die
'    neue letzte Tabelle in A1 kopieren. (und das passiert wöchentlich
'    bis 52 Wochen voll sind.
'    ActiveCell.FormulaR1C1 = "=+'5'!RC+1" (funzt nicht, da '5' in der KW 7
'    6 sein muss
ActiveCell.Offset(5, 0).Range("A1").Select
End Sub

Gruß
André
Anzeige

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

Betreff
Benutzer
Anzeige
AW: VBA - Letzte Tabelle Finden und Formel einfügen
07.12.2009 13:31:49
Chris
Hi Andre versuche es mal so:
Optional kannst du hier das Tabellen blatt noch nach der KW benennen.
einfach das Hochkomma reausmachen.
Gruss Chris
Sub NeueTabelle()
Wochennummer = Sheets.Count + 1
Sheets(Sheets.Count).Copy After:=Sheets(Sheets.Count)
Range("A1") = Wochennummer
'optional Benennung des Blattes
'ActiveSheet.Name = "KW " & Wochennummer
End Sub

Anzeige
AW: VBA - Letzte Tabelle Finden und Formel einfügen
07.12.2009 13:45:03
André
Hallo Chris,
funzt soweit, habe allerdings etwas abgeändert, da ich nicht beschrieben habe, dass ich noch weitere Tabellenblätter in der Datei habe.
Ich habe aus + 1, - 5 gemacht. besten Dank.
André
Sub NeueTabelle()
' NeueTabelle Makro
' Makro am 07.12.2009 von Fungipani, Andre aufgezeichnet
Wochennummer = Sheets.Count - 5
Sheets(Sheets.Count).Copy After:=Sheets(Sheets.Count)
Range("A1") = Wochennummer
ActiveCell.Offset(5, 0).Range("A1").Select
End Sub

Anzeige
AW: VBA - Letzte Tabelle Finden und Formel einfügen
07.12.2009 13:33:33
Tino
Hallo,
versuche es mal so
Dim LetzteSh As Worksheet
Set LetzteSh = Sheets(Sheets.Count)
LetzteSh.Copy After:=Sheets(Sheets.Count)
ActiveSheet.Cells(1, 1).Value = LetzteSh.Cells(1, 1).Value + 1
Gruß Tino
AW: VBA - Letzte Tabelle Finden und Formel einfügen
07.12.2009 14:17:56
André
Super,
funktioniert einwandfrei.
Danke
André
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Letzte Tabelle Finden und Formel einfügen mit VBA


Schritt-für-Schritt-Anleitung

Um in Excel VBA das letzte Tabellenblatt auszuwählen und eine Formel einzufügen, kannst Du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. VBA Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Modul einfügen: Klicke im Menü auf Einfügen und wähle Modul.

  3. Code einfügen: Kopiere den folgenden Code in das Modul:

    Sub NeueTabelle()
       Dim Wochennummer As Integer
       Dim LetzteSh As Worksheet
    
       ' Letztes Tabellenblatt auswählen
       Set LetzteSh = Sheets(Sheets.Count)
    
       ' Neue Tabelle erstellen
       LetzteSh.Copy After:=Sheets(Sheets.Count)
    
       ' Wochennummer berechnen
       Wochennummer = Sheets.Count - 5
    
       ' Formel in A1 einfügen
       ActiveSheet.Cells(1, 1).Value = LetzteSh.Cells(1, 1).Value + 1
       ' Optional: Blatt benennen
       ' ActiveSheet.Name = "KW " & Wochennummer
    End Sub
  4. Makro ausführen: Schließe den VBA-Editor und führe das Makro aus, indem Du ALT + F8 drückst, das Makro auswählst und auf Ausführen klickst.


Häufige Fehler und Lösungen

  • Fehler beim Ausführen des Makros: Wenn das Makro nicht funktioniert, stelle sicher, dass Du die richtige Anzahl an Tabellenblättern hast. Der Code geht davon aus, dass Du mindestens 6 Tabellenblätter hast.

  • Formel wird nicht korrekt eingefügt: Wenn die Formel nicht wie gewünscht ausgeführt wird, überprüfe die Referenzen in Deiner Tabelle. Bei Bedarf kannst Du die Formel in Zeile 5 ändern, um die korrekte Zelle auszuwählen.


Alternative Methoden

Eine alternative Methode, um die letzte Tabelle zu finden und eine Formel einzufügen, könnte die Verwendung von Range-Objekten sein. Hier ist ein Beispiel:

Sub AlternativeMethode()
    Dim LetzteSh As Worksheet
    Set LetzteSh = Sheets(Sheets.Count)

    LetzteSh.Copy After:=Sheets(Sheets.Count)

    ' Formel in A1 einfügen
    ActiveSheet.Range("A1").Formula = "=" & LetzteSh.Name & "!A1 + 1"
End Sub

Diese Methode verwendet den Namen des vorherigen Tabellenblatts, um die Formel dynamisch zu erstellen.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du das oben beschriebene Makro anpassen kannst:

  1. Woche 6 hinzufügen: Wenn Du das Makro ausführst, wird automatisch das nächste Tabellenblatt zur Woche 6 erstellt.

  2. Benennung der Blätter: Du kannst die Zeile zur Benennung des Blattes aktivieren, um Deinen Blättern die Wochennummer zuzuweisen.

ActiveSheet.Name = "KW " & Wochennummer

Tipps für Profis

  • Verwende Option Explicit: Es ist eine gute Praxis, am Anfang Deines Moduls Option Explicit zu verwenden, um sicherzustellen, dass alle Variablen deklariert sind.

  • Entwickle eine Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um unerwartete Fehler während der Ausführung Deines Makros zu vermeiden.

On Error GoTo Fehlerbehandlung
' ... Dein Code ...
Exit Sub
Fehlerbehandlung:
MsgBox "Ein Fehler ist aufgetreten: " & Err.Description

FAQ: Häufige Fragen

1. Wie finde ich das letzte Tabellenblatt in Excel?
Du kannst das letzte Tabellenblatt mit Sheets(Sheets.Count) auswählen.

2. Wie füge ich eine Formel in eine Zelle ein?
Verwende Range("A1").Formula = "Deine Formel", um eine Formel in die gewünschte Zelle einzufügen.

3. Kann ich das Makro für andere Zwecke anpassen?
Ja, Du kannst das Makro leicht anpassen, um es für andere Tabellenblätter oder Formeln zu verwenden. Achte darauf, die Zellreferenzen entsprechend zu ändern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige