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.

VBA- Kalender seitwärts auflisten, nicht nach unten
#1
Guten Morgen zusammen,

ich habe im Internet zwei VBA-Codes zum Thema Kalender erstellen gefunden.
Ich habe von der VBA-Programmierung keine Ahnung. Ich habe die Excel Tabelle hinzugefügt.

Ich will das zweite Arbeitsblatt in der Spalte F und in der Zeile 8 anfangen lassen. Der Monat Februar soll dem Monat Januar in der gleichen Zeile 8 folgen usw. 


Ist das machbar ?
Bedanke mich im Voraus für die HIlfe.


Angehängte Dateien
.xlsm   Kalender.xlsm (Größe: 25,94 KB / Downloads: 4)
Antworten Top
#2
Hallo, 19

so?

.xlsm   Kalender_in_Spalten.xlsm (Größe: 33,32 KB / Downloads: 9)
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • Tommiks
Antworten Top
#3
Wowwww 18  Perfekt!

Kann man vielleicht die Kalenderwoche in Zeile 6 oder in Zeile 7 hinzufügen?
Den Monatsnamen möchte ich weiterhin behalten...
Antworten Top
#4
Da ich auch gebastelt habe (ohne KW):
Sub Jahreskalender()
Dim j, m&, t&
j = Application.InputBox("Jahreszahl", , Year(Date), Type:=1)
If j <> False Then
  Cells.ClearContents
  Range("A1:A12") = _
    WorksheetFunction.Transpose(Application.GetCustomListContents(8))
  For m = 1 To 12
    For t = 1 To 31
      If Month(DateSerial(j, m, t)) > m Then Exit For
      Cells(m, t + 1) = DateSerial(j, m, t)
    Next
  Next
End If
End Sub

So etwas würde ich aber immer mittels Formeln machen.
Daher gehe ich davon aus, dass Du das nur zum Üben brauchst.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Tommiks
Antworten Top
#5
Hallo Ralf,

du hast recht. Danke Dir... Smile
Antworten Top
#6
Ah ja, habs falsch verstanden.

Um ein komplettes Jahr waagerecht aufzureihen, reicht:
Range(Cells(1, 2), Cells(1, 366)).Formula ="=Date(2021, 1, Column(A1))"

Ob Schaltjahr oder nicht, kann man in der Formel prüfen.
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Tommiks
Antworten Top
#7
Hallo Ralf,

ab welcher Stelle des Codes müsste ich den neuen Code hinzufügen? Und welchen Beriech muss man entfernen?
Antworten Top
#8
Trägt die Formel ab B1 ein und tauscht Formel gegen Wert:
Sub Kal_horizontal()
Dim j, Tage&
j = Application.InputBox("Jahreszahl", , Year(Date), Type:=1)
If j <> False Then
  Tage = DateSerial(j + 1, 1, 1) - DateSerial(j, 1, 1)
  Cells.ClearContents
  With Range(Cells(1, 2), Cells(1, Tage + 1))
    .Formula = "=Date(" & j & ", 1, Column(A1))"
    .Value = .Value
  End With
End If
End Sub
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Tommiks
Antworten Top
#9
Kann jemand vielleicht die Kalnederwoche hinzufügen? Bedanke mich im Voraus für Hilfe.
Antworten Top
#10
Hallo,

zum Beispiel so:
Code:
Sub Kal_horizontal()
Dim j, Tage&

j = Application.InputBox("Jahreszahl", , Year(Date), Type:=1)

If j <> False Then
    Tage = DateSerial(j + 1, 1, 1) - DateSerial(j, 1, 1)
    Cells.ClearContents
    With Range(Cells(1, 2), Cells(1, Tage + 1))
        .Formula = "=Date(" & j & ", 1, Column(A1))"
        .Value = .Value
    End With
    With Range(Cells(2, 2), Cells(2, Tage + 1))
        .FormulaR1C1 = "=ISOWEEKNUM(R[-1]C)"
        .Value = .Value
        .NumberFormat = """KW ""00"
    End With
End If
End Sub
Gruß Werner
[-] Folgende(r) 1 Nutzer sagt Danke an Werner.M für diesen Beitrag:
  • Tommiks
Antworten Top


Gehe zu:


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