Microsoft Excel

Herbers Excel/VBA-Archiv

Jahreszahl im Makro aus einer Zelle | Herbers Excel-Forum


Betrifft: Jahreszahl im Makro aus einer Zelle von: Ralf
Geschrieben am: 08.01.2010 06:17:56

Hallo Forum,

ich möchte auf tabellenblättern von Januar bis Dezember Jahreszahlen in verschiedenen Zellen schreiben. Dazu habe ich mir mit dem makrorekorder folgendes Makro aufgezeichnet:

Sub Jahreszahl_ändern()    
' Jahreszahl_ändern
    Range("A35").Select
    ActiveCell.FormulaR1C1 = "2010"
End Sub
Sub Jahreszahl_ändern_alle_Monate()
' Jahreszahl_ändern_alle_Monate Makro
    Sheets("Jan 2010").Select
    Application.Run "Jahreszahl_ändern"
    Range("A2").Select
    ActiveCell.FormulaR1C1 = "Januar 2010"
    Range("AC2").Select
    ActiveCell.FormulaR1C1 = "1/1/2010"
    Range("A1").Select
    
    Sheets("Feb 2010").Select
    Application.Run "Jahreszahl_ändern"
    Range("A2").Select
    ActiveCell.FormulaR1C1 = "Februar 2010"
    Range("AC2").Select
    ActiveCell.FormulaR1C1 = "2/1/2010"
    Range("A1").Select
    
    Sheets("Mar 2010").Select
    Application.Run "Jahreszahl_ändern"
    Range("A2").Select
    ActiveCell.FormulaR1C1 = "März 2010"
    Range("AC2").Select
    ActiveCell.FormulaR1C1 = "3/1/2010"
    Range("A1").Select

usw. bis Dezember.

Jetzt soll eigentlich nicht jedes jahr das makro angepasst werden, sondern die Jahreszahl soll  _
in eine Zelle geschrieben werden. Bei mir lautet diese: Tabellenblattname: Temp Zelle: B45

Kann mir bitte jemand das Makro für einen Monat beispielhaft ändern?

Kann man dies auch für die Tabellenblattnamen mit integrieren?

Vielen Dank im Voraus.

Viele Grüße

Ralf


  

Betrifft: AW: Jahreszahl im Makro aus einer Zelle von: ede
Geschrieben am: 08.01.2010 07:12:30

Hallo Ralf,
hier mal ein simples Beispiel für Januar.
Die Sheets muss es natürlich geben.

Sub Jahreszahl_ändern()
'Quelle holen
iJahr = Sheets("temp").Range("B45")
' Monatssheets ändern
Sheets("Jan " & iJahr).Range("A2") = "Januar " & iJahr
Sheets("Jan " & iJahr).Range("AC2") = "1/1/" & iJahr
End Sub
gruss


  

Betrifft: AW: Jahreszahl im Makro aus einer Zelle von: Ralf
Geschrieben am: 08.01.2010 11:10:01

Hallo ede,

Danke, das passt so.

Gruß

Ralf


  

Betrifft: AW: Jahreszahl im Makro aus einer Zelle von: Ralf
Geschrieben am: 08.01.2010 15:10:16

Hallo Forum,

das Makro von Ede funktioniert soweit.
Folgenden "Wunsch" habe ich noch:
Kann ich die Benennung der Tabellenblätter auch per Makro ändern.
Beispiel: Jan 2009 wird zu Jan 2010.
Die Jahreszahl 2010 steht im Tabellenblatt "temp ; B45"

Danke für Eure Hilfe.

Gruß

Ralf


  

Betrifft: AW: Jahreszahl im Makro aus einer Zelle von: ede
Geschrieben am: 08.01.2010 19:06:03

Hallo noch mal,
eine Sheetnamen kannst du natürlich auch umbenennen. hier mal ein Beispiel
angenommen du willst auf 2010 gehen, dann lautet ja der alte Sheetname "Jan 2009" und in IJahr steht ja "2010".

sheets("Jan " & iJahr -1).Name = "Jan " & iJahr

Gruss


  

Betrifft: AW: Jahreszahl im Makro aus einer Zelle von: Ralf
Geschrieben am: 09.01.2010 10:37:52

Hallo Ede,

perfekt. Sieht einfach und logisch aus. Nur rein Interessehalber: Kann man den Namen auch unabhängig von der Ist Bezeichnung ändern?
Beispiel: Der Blattname heißt aktuell Jan 2008 und soll durch die Zelle B45 im Blatt "Temp" auf Jan 2010 geändert werden. Dann hätte ich ein allgemein gültiges Makro, bei Deiner Lösung ist ja eine Bedingung erforderlich um zum richtigen Ergebnis zu kommen.

Viele Grüße aus Bayern (ohne Schneechaos)

Ralf