Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel Makro VBA Reiter erstellen
#1
Guten Morgen zusammen,

ich habe ein Problem mit dem erstellen eines Makros. Der Ablauf soll wie folgt sein:
1. Das Makro soll aus dem Musterreiter "TTT" eine Kopie erstellen und diese direkt vor den Reiter "TTT" mit dem Datum des Reiters davor ( in diesem Beispiel "14.02.20") mit 7 Tagen plus (alo dem "21.02.20") erstellen. Diese Aufgabe wird einmal die Woche durchgeführt.
2. Als nächstes soll das Makro das Feld O5 mit dem Reiternamen versehen.
3. DAnn soll der Bereich O10:O42 aus dem Vorreiter ("14.02.20") in den Bereich N10:N42 kopiert werden.
4. Zuletzt soll das Makro den Bereich A10:P42 kopieren und als Wert einfügen, sodass alle Formel verschwinden.

Aktuell habe ich im Internet folgendes gefunden:

Code:
Option Explicit

Private Sub CommandButton1_Click()

Dim strBlattname As String
Dim intJahr As Integer
Dim intMonat As Integer
Dim intTag As Integer
Dim dteNeu As Date

strBlattname = Worksheets(Worksheets.Count).Name
intJahr = Year(Date)
intMonat = Int(Mid(strBlattname, 4, 2))
intTag = Int(Left(strBlattname, 2))
dteNeu = DateSerial(intJahr, intMonat, intTag) + 7

Sheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(dteNeu, "dd.mm.")

End Sub

Leider kriege ich das schon nicht hin. Die Beispieldatei ist im Anhang.
Ich hoffe, dass mir jemand helfen kann. Vielen Dank im Voraus.


Angehängte Dateien
.xlsx   Beispiel.xlsx (Größe: 24 KB / Downloads: 3)
Antwortento top
#2
Hallo,
Sub aaa()
  Dim oWs As Worksheet
  Worksheets("TTT 2019").Copy Worksheets("TTT 2019")
  With ActiveSheet
    Set oWs = Worksheets(.Index - 1)
    .Range("O5").Value = Format(CDate(oWs.Name) + 7, "dd.mm.yy")
    .Name = .Range("O5").Text
    oWs.Range("O10:O42").Copy .Range("N10")
    .Range("A10:P42").Value = .Range("A10:P42").Value
    .Tab.ColorIndex = -4142
  End With
End Sub
Gruß Uwe
Antwortento top
#3
Hallo Uwe,
super das klappt. Kannst du mir auch bei Problem 2-4 Helfen.
Vielen Dank für diese Lösung.
Antwortento top
#4
(11.02.2020, 09:08)nordlicht1 schrieb: Kannst du mir auch bei Problem 2-4 Helfen.

Was klappt denn da nicht?

Gruß Uwe
Antwortento top
#5
Bei 2. Schaffe ich es nicht das Feld mit dem Reiter zu verbinden.
Bei 3. findet mein kopieren den richtigen Reiter nicht
Bei 4. klappt irgendwie gar nichts.

Allgemein ist alles ein riesige Chaos. Das Problem ist wirklich das ich keine Ahnung von VBA habe und mir so Versuche was selbt beizubringen, indem ich alles zusammenstückel.

Vielen Dank im Voraus.
Antwortento top
#6
Hallo,

also mein Makro macht 1 - 4! Blush

Gruß Uwe
[-] Folgende(r) 1 Benutzer sagt Danke an Kuwer für diesen Beitrag:
  • nordlicht1
Antwortento top
#7
Super adnke. Jetzt merke ich es auch. sorry. Bin der totale Anfänger.
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste