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 mit Tag und Monatsname ergänzen.Test VBA-Datei hinzugefügt-
#1
Hallo zusammen,

ich habe die VBA-Kalenderdatei hinzugefügt.

Ergänzend brauche ich in der Datei über die erste Zeile noch zwei zusätzliche Zeilen.
Die erste Zeile soll den Monatsname anzeigen.
Die zweite Zeile soll den Wochentag in voller Länge anzeigen.
Ein Beispeil habe ich in die Tabelle hinzugefügt.

Bedanke mich im Voraus für die Unterstützung...


Angehängte Dateien
.xlsm   Test Kalender.xlsm (Größe: 20,86 KB / Downloads: 11)
Antworten Top
#2
Hallo,

und wozu denn dafür ein Makro?

Da recht doch vollkommen das Ganze mit Formeln zu realisieren und die Zeilen entsprechend im benutzerdefinierten Format entsprechend zu formatieren.

Bei Änderung der Jahreszahl in Zelle A2 passt sich der Kalender entsprechend an.



Gruß Werner


Angehängte Dateien
.xlsx   Kalender.xlsx (Größe: 21,36 KB / Downloads: 8)
Antworten Top
#3
Weil ich die Machbarkeit mit VBA sehen möchte, denn ich habe das Problem nicht lösen können.
Antworten Top
#4
(16.07.2021, 05:43)Tommiks schrieb: Weil ich die Machbarkeit mit VBA sehen möchte, denn ich habe das Problem nicht lösen können.

Hallo, 19

eine Möglichkeit: 21

Code:
Option Explicit
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(4, 2), Cells(4, Tage + 1))
            .Formula = "=Date(" & j & ", 1, Column(A1))"
            .Offset(-3, 0).Formula = "=TEXT(B4,""MMMM"")"
            .Offset(-2, 0).Formula = "=TEXT(B4,""TTTT"")"
        End With
        With Range(Cells(3, 2), Cells(3, Tage + 1))
            .FormulaR1C1 = "=ISOWEEKNUM(R[+1]C)"
            .NumberFormat = """KW ""00"
        End With
        Tabelle1.UsedRange.Value = Tabelle1.UsedRange.Value
    End If
End Sub
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • Tommiks
Antworten Top
#5
@Case ,

wowwwww,Respekt .Danke... 23
Antworten Top
#6
@case,

wie kann ich diesen Kalender in der Konstellation Senkrecht ab der Zeile 6 runter laufen lassen? Huh

Vielen Dank im Voraus...
Antworten Top
#7
Hallo, 19

probiere es mal so: 21

Code:
Option Explicit
Sub Kal_horizontal()
    Dim j, Tage&
    j = Application.InputBox("Jahreszahl", , Year(Date), Type:=1)
    If j <> False Then
        With Tabelle1
            Tage = DateSerial(j + 1, 1, 1) - DateSerial(j, 1, 1)
            .Cells.ClearContents
            With .Range(.Cells(6, 4), .Cells(Tage + 1, 4))
                .Formula = "=Date(" & j & ", 1, Row(A1))"
                .Offset(, -3).Formula = "=TEXT(D6,""MMMM"")"
                .Offset(, -2).Formula = "=TEXT(D6,""TTTT"")"
            End With
            With .Range(.Cells(6, 3), .Cells(Tage + 1, 3))
                .FormulaR1C1 = "=ISOWEEKNUM(R[+1]C)"
                .NumberFormat = """KW ""00"
            End With
            .UsedRange.Value = .UsedRange.Value
        End With
    End If
End Sub

Hallo, 19 

da stimmt noch was nicht - schreibe es so: 21 

Code:
Option Explicit
Sub Kal_horizontal()
    Dim j, Tage&
    j = Application.InputBox("Jahreszahl", , Year(Date), Type:=1)
    If j <> False Then
        With Tabelle1
            Tage = DateSerial(j + 1, 1, 1) - DateSerial(j, 1, 1)
            .Cells.ClearContents
            With .Range(.Cells(6, 4), .Cells(Tage + 1, 4))
                .Formula = "=Date(" & j & ", 1, Row(A1))"
                .Offset(, -3).Formula = "=TEXT(D6,""MMMM"")"
                .Offset(, -2).Formula = "=TEXT(D6,""TTTT"")"
            End With
            With .Range(.Cells(6, 3), .Cells(Tage + 1, 3))
                .Formula = "=ISOWEEKNUM(D6)"
                .NumberFormat = """KW ""00"
            End With
            .UsedRange.Value = .UsedRange.Value
        End With
    End If
End Sub
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • Tommiks
Antworten Top
#8
Vielen Dank 18 17
Antworten Top
#9
@case,

im Code Zeile 6 beschreibt , dass der Kalender in der Tabelle 1 erstellt werden soll.

Wie mache ich es, wenn ich den Reiter der Tabelle auf "Senkrechter Kalender" umbenennen möchte?
Danke...
Antworten Top
#10
Hallo, 19

dann schreibe statt...

Code:
With Tabelle1

... das: 21

Code:
With ThisWorkbook.Worksheets("Senkrechter Kalender")

Das "Tabelle1" ist der CodeName des Tabellenblattes. Siehst du im VBA-Editor links beim Projekt. Dort steht bei einem deutschen Excel und einer neuen Datei - Tabelle1(Tabelle1).

Der Name VOR der Klammer ist der Codename.
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • Tommiks
Antworten Top


Gehe zu:


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