Thema Datum  Von Nutzer Rating
Antwort
Rot Kopieren von anderem Tabellenblatt
06.11.2017 14:38:12 Heiko
NotSolved
06.11.2017 19:21:01 Mackie
NotSolved
07.11.2017 15:38:43 Heiko
NotSolved
07.11.2017 17:17:38 Mackie
NotSolved

Ansicht des Beitrags:
Von:
Heiko
Datum:
06.11.2017 14:38:12
Views:
990
Rating: Antwort:
  Ja
Thema:
Kopieren von anderem Tabellenblatt

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...


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
    
    '===================================================================
    'Speichere das Datum des Gremiums in der Variable "Start-/Ende-Datum"
    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

    '===================================================================
    'Definiere den relevanten Bereich zwischen "Start" und "Ende"
     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
             MsgBox "Das Datum wurde nicht gefunden. Bitte erstellen Sie erst eine Protokollvorlage"
             Exit Sub
         Else
             StartZeileProtokoll = TECH_Start.Row
         End If
     End With

     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

 

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Kopieren von anderem Tabellenblatt
06.11.2017 14:38:12 Heiko
NotSolved
06.11.2017 19:21:01 Mackie
NotSolved
07.11.2017 15:38:43 Heiko
NotSolved
07.11.2017 17:17:38 Mackie
NotSolved