Hi Forumler,
nach langer Zeit habe ich mal wieder ein Problem an dem ich schon einige Zeit hänge...
Ich habe eine Excel um 3 verschiedene Gremien zu managen.
Ich habe 4 Tabellenblätter:
1x Protokoll (fortlaufend, alle Gremien auf einer Seite)
3x Agenda (1x je Gremium)
1x Themenspeicher
Grundfunktionsweise:
Ich erstelle aus offenen Maßnahmen (alte Protokolle) und dem Themenspeicher ein "Vorprotokoll" (auf Tabellenblatt "Protokoll") --> Funktioniert!
Um eine Agenda zu erstellen, ziehe ich dann, vorausgewählt nach dem passenden Datum aus dem Tabellenblatt "Protokoll" auf das Tabellenblatt "Agenda"...
Jetzt das eigtl. Problem:
Dies funktioniert für ein Gremium, für die anderen beiden aber nicht... :(
Ich habe das funktionierende Tabellenblatt "Agenda_TECH" kopiert und eingefügt, sowie den Code angepasst...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | Public Sub Erstelle_Agenda_TECH()
Dim Start_Datum, End_Datum, StartZeileProtokoll, EndZeileProtokoll, LetzteZeileAgenda As Long
Dim TECH_Start, TECH_Ende, Status, Bereich As Range
Application.ScreenUpdating = False
Start_Datum = Sheets( "Agenda_TECH" ).Cells(4, 6).Value
End_Datum = Sheets( "Agenda_TECH" ).Cells(4, 6).Value
Sheets( "Agenda_TECH" ). Select
Range(Cells(7, 2), Cells(Rows.Count, 11)).ClearContents
LetzteZeileProtokoll = ActiveWorkbook.Sheets( "Protokoll" ).Cells(Rows.Count, 9). End (xlUp).Row
With Worksheets( "Protokoll" ).Range( "A1" ).EntireColumn
Set TECH_Start = .Find(Start_Datum, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchByte:= False )
If TECH_Start Is Nothing Then
<em> MsgBox "Das Datum wurde nicht gefunden. Bitte erstellen Sie erst eine Protokollvorlage" </em>
Exit Sub
Else
StartZeileProtokoll = TECH_Start.Row
End If
End With
|
1 | With Worksheets( "Protokoll" ).Range( "A1" ).EntireColumn
|
Set TECH_Ende = .Find(End_Datum, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchByte:=False)
If TECH_Ende Is Nothing Then
MsgBox "Das Datum wurde nicht gefunden. Bitte erstellen Sie erst eine Protokollvorlage"
Exit Sub
Else
EndZeileProtokoll = TECH_Ende.Row
End If
End With
Für das Gremium "TECH" funktioniert das, für die anderen Gremien leider nicht :(
Habe den Code durch Anpassung der Tabellenblatt-Namen (statt "Agenda_TECH") und die Variablen "TECH_Start" & "TECH_Ende" angepasst, definiert...
In der ersten MsgBox steigt das Makro dann aus, weil es kein Datum findet, obwohl es überall im richtigen Format (Arbeitsblatt "Protokoll") vorhanden ist. Daran kann es eigtl. nicht liegen...
Für Ideen und Vorschläge bin ich dankbar :)
Danke euch und Grüße,
Heiko
|