Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1648to1652
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Whit Schleife macht Probleme

Whit Schleife macht Probleme
01.10.2018 16:00:26
Dominik
Hallo zusammen,
ich versuche per VBA einen Code zu schreiben, der ein automatisches GANT-Diagramm erstellt. Ziel ist es, im 1. Schritt zu prüfen ob das Tabellenblatt "ProjektZeitplan" schon vorhanden ist, falls ja soll es gelöscht und neu angelegt werden. In Tabelle 5 ist eine Checkliste, in der relevante Aufgabenpakete abgelegt sind, falls hier "offen" oder "erledigt" steht soll das Aufgabenpaket in dem Reiter "ProjektZeitplan" auftauchen.
So viel habe ich jetzt aber ich erhalte mir unbekannte Fehler ...

Sub Zeitplanerstellen()
'Deklarationen
Dim lngZeile As Long
Dim lngZeileMax As Long
Dim lngZeileGant As Long
'Löschen vorhandenes Arbeitsblatt und erstellen eines neuen Gant-Diagramms
On Error GoTo WorkSheetErstellen
Application.DisplayAlerts = False
Sheets("ProjektZeitplan").Delete
Application.DisplayAlerts = True
GoTo WorkSheetErstellen
WorkSheetErstellen:
Worksheets.Add After:=Worksheets("Feld Test -> Freigabe")
ActiveSheet.Name = "ProjektZeitplan"
'Daten aus Checkliste Mkt übertragen
With Tabelle5
lngZeileMax = Tabelle5.UsedRange.Rows.Count
For lngZeile = 2 To lngZeileMax
If Tabelle5.Cells(9, lngZeile) = "Offen" Or "Erledigt" Then
Sheets("ProjektZeitplan").Cells(lngZeileGant, 1).Value = Tabelle5.Cells(2,   _
_
_
lngZeile)
lngZeileGant = Sheets("ProjektZeitplan").UsedRange.Rows.Count + 1
Next lngZeile
Else: Next lngZeile
End If
End With
End Sub

Hilfe? ;-) Ich bin tatsächlich recht grün hinter meinen VBA Ohren ... aber bekomme schon kleinere Makros hin ...
Danke und viele Grüße
Dominik

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Whit Schleife macht Probleme
01.10.2018 16:21:51
Nepumuk
Hallo Dominik,
Else - End If muss innerhalb der For-Next - Schleife liegen.
Gruß
Nepumuk
AW: Whit Schleife macht Probleme
02.10.2018 07:14:25
Dominik
Hey Nepumuk,
SUPER vielen DANK!! Manchmal sieht man vor lauter Bäumen den Wald nicht mehr ... :)
Viele Grüße
Dominik
AW: Whit Schleife macht Probleme
02.10.2018 08:19:35
Dominik
SO ich habe den Code angepasst, dennoch habe ich das Problem dass mein Makro nach der With - Schleife immer wieder in "WorkSheetErstellen" abspringt? Habe mit F8 im Einzelschritt debugged .. und ich kann mir nicht erklären wieso mein Makro die With - Schleife verlässt?
Hier ist mein aktueller Code: in der Zelle (9,2) wird zunächst kein Wert gefunden (wegen überschriften etc aber dennoch sollte der Code doch dann wieder in die With schleife gehen?
Habe jetzt versucht durch "Call" das ganze in 2 Subs zu teilen ... geht auch nicht.. hüpft immer wieder in "WorkSheetErstellen" ... ich verstehe es nicht ... versuche evtl. einmal einen komplett anderen ansatz ..
Sub Zeitplanerstellen()
'Deklarationen
Dim lngZeile As Long
Dim lngZeileMax As Long
Dim lngZeileGant As Long
'Löschen vorhandenes Arbeitsblatt und erstellen eines neuen Gant-Diagramms
On Error GoTo WorkSheetErstellen
Application.DisplayAlerts = False
Sheets("ProjektZeitplan").Delete
Application.DisplayAlerts = True
GoTo WorkSheetErstellen
WorkSheetErstellen:
Worksheets.Add After:=Worksheets("Feld Test -> Freigabe")
ActiveSheet.Name = "ProjektZeitplan"
Call DatenÜbertragen
End Sub
Sub DatenÜbertragen()
'Daten aus Checkliste Mkt übertragen
With Tabelle5
lngZeileMax = Tabelle5.UsedRange.Rows.Count
For lngZeile = 2 To lngZeileMax
'If Tabelle5.Cells(9, lngZeile) = "Offen" Or "Erledigt" Then
Sheets("ProjektZeitplan").Cells(lngZeileGant, 1).Value = Tabelle5.Cells(2,  _
lngZeile)
lngZeileGant = Sheets("ProjektZeitplan").UsedRange.Rows.Count + 1
'End If
Next lngZeile
End With
End Sub

Anzeige
AW: Whit Schleife macht Probleme
02.10.2018 09:28:11
PeterK
Hallo
"lngZeileGant" ist nicht initialisiert bzw. in der falschen Sub definiert. Verwende "option explicit" damit solche Fehler angezeigt werden. "On Error" soltest Du wieder ausschalten wenn es nicht mehr benötigt wird!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige