03.06.2021, 15:53
Hallo zusammen,
Ich habe mir eine Tabelle erstellt die ich als Vorlage benutze. Hier habe ich mir ein VBA Projekt erstellt, welches mir eine neue Mappe erstellt und zwar so das ich für jeden Werktag ein eigenes Blatt in der Mappe habe welches dann auch gleich mit dem Richtigen Datum benannt wird ausgehend on einem Startdatum. Funktioniert hervorragend.
In der Celle D2 habe ich die Funktion =TEIL(ZELLE("dateiname";A1);SUCHEN("]";ZELLE("dateiname";A1))+1;31) eingetragen. Auch das funktioniert eigentlich, aber leider nur solange wie die Mappe in der Desktop App geöffnet wird.
Da die Mappe von mehreren Kollegen gleichzeitig bearbeite werden muss liegt diese in SharePoint und nun fängt das Drama an. Denn öffnet man die Mappe in SP wird in Zelle D2 leider nur #Wert angezeigt.
Jetzt habe ich ein ein neues Modul eingefügt, leider wird das Modul aber nicht mit in die neu erstellt Mappe mit übernommen.
Ich muss in der neuen mappe ebenfalls das Modul s.u. reinkopieren. Und dann funktioniert das leider auch nur wenn ich in jedem einzelnen Blatt die Zelle D2 auswähle und mit Enter bestätige.
Kann mir hier jemand weiter helfen? Ich stehe total auf dem Schlauch und komme nicht mehr weiter.
besten Dank!
Ich habe mir eine Tabelle erstellt die ich als Vorlage benutze. Hier habe ich mir ein VBA Projekt erstellt, welches mir eine neue Mappe erstellt und zwar so das ich für jeden Werktag ein eigenes Blatt in der Mappe habe welches dann auch gleich mit dem Richtigen Datum benannt wird ausgehend on einem Startdatum. Funktioniert hervorragend.
Code:
Sub MachMirEinenMonat()
Dim wksQuelle As Worksheet
Dim vntDatum As Variant
Dim lngMonat As Long
Dim lngJahr As Long
Dim wbkNeu As Workbook
Dim lngTageImMonat As Long
Dim lngTag As Long
Set wksQuelle = ThisWorkbook.Worksheets("Bestellung VS")
vntDatum = InputBox("Gib ein beliebiges Datum des gewünschten Monats ein!" & vbCr & "Beispiel: 13.2.2012")
If Not IsDate(vntDatum) Then
MsgBox "Kein Datum!", , vntDatum
Exit Sub
End If
lngMonat = Month(vntDatum)
lngJahr = Year(vntDatum)
lngTageImMonat = Day(DateSerial(lngJahr, lngMonat + 1, 0))
wksQuelle.Copy
Set wbkNeu = ActiveWorkbook
For lngTag = 2 To lngTageImMonat
wbkNeu.Worksheets(1).Copy After:=wbkNeu.Worksheets(wbkNeu.Worksheets.Count)
Next
For lngTag = 1 To lngTageImMonat
wbkNeu.Worksheets(lngTag).Name = Format(DateSerial(lngJahr, lngMonat, lngTag), "dd.mm")
Next
'lösche alle Sonntage
For lngTag = 1 To lngTageImMonat
If Weekday(DateSerial(lngJahr, lngMonat, lngTag)) = 1 Then
Application.DisplayAlerts = False
wbkNeu.Worksheets(Format(DateSerial(lngJahr, lngMonat, lngTag), "dd.mm")).Delete
Application.DisplayAlerts = True
End If
Next
'lösche alle Samstage
For lngTag = 1 To lngTageImMonat
If Weekday(DateSerial(lngJahr, lngMonat, lngTag)) = 7 Then
Application.DisplayAlerts = False
wbkNeu.Worksheets(Format(DateSerial(lngJahr, lngMonat, lngTag), "dd.mm")).Delete
Application.DisplayAlerts = True
End If
Next
Cells(2, 4).Value = ActiveSheet.Name
Cells(2, 4).Copy
End Sub
In der Celle D2 habe ich die Funktion =TEIL(ZELLE("dateiname";A1);SUCHEN("]";ZELLE("dateiname";A1))+1;31) eingetragen. Auch das funktioniert eigentlich, aber leider nur solange wie die Mappe in der Desktop App geöffnet wird.
Da die Mappe von mehreren Kollegen gleichzeitig bearbeite werden muss liegt diese in SharePoint und nun fängt das Drama an. Denn öffnet man die Mappe in SP wird in Zelle D2 leider nur #Wert angezeigt.
Jetzt habe ich ein ein neues Modul eingefügt, leider wird das Modul aber nicht mit in die neu erstellt Mappe mit übernommen.
Ich muss in der neuen mappe ebenfalls das Modul s.u. reinkopieren. Und dann funktioniert das leider auch nur wenn ich in jedem einzelnen Blatt die Zelle D2 auswähle und mit Enter bestätige.
Code:
Public Function blattname() As String
Application.Volatile
blattname = ActiveSheet.Name
End Function
Kann mir hier jemand weiter helfen? Ich stehe total auf dem Schlauch und komme nicht mehr weiter.
besten Dank!