Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

erste Ausführung einer Schlaufe mit Case abfangen

Forumthread: erste Ausführung einer Schlaufe mit Case abfangen

erste Ausführung einer Schlaufe mit Case abfangen
14.06.2007 10:41:00
Peter
Liebes Forum
Mit nachstehendem Code öffne ich in einem Verzeichnis eine Datei nach der anderen und kopiere verschiedene Bereiche in eine Zieldatei.
Dabei möchte ich bei den ersten Daten immer auch die Zeile 1 (Kopfzeile) kopieren; bei den anderen dann nicht mehr. Ich habe dies versucht, mit der Select Case zu bewerkstelligen. Irgend etwas ist falsch, es wird immer nur der Kopierbefehl bei CaseElse ausgeführt. Wo ist das Problem?
Herzlichen Dank für eine Rückmeldung!
Peter
'Dateien nacheinander öffnen und Daten übertragen
For i = 1 To lngZ
Set WB = Workbooks.Open(Filename:=strVerz & ShTab.Cells(i, 1))
'letzte beschriebene Zeile in Spalte B ermitteln:
lr = WB.Worksheets(TabName).Cells(Rows.Count, 2).End(xlUp).Row 'Spalte B wird abgefragt
'Wenn Spalte nicht leer dann...
If lr > 0 Then
'...Wert in Blatt [TabZiel] eintragen
lrZiel = WBAktiv.Sheets(TabZiel).Cells(Rows.Count, 1).End(xlUp).Row
Select Case i
Case i = 1
WB.Worksheets(TabName).Rows("1:" & lr).Copy Destination:=WBAktiv.Sheets(TabZiel).Cells(Rows.Count, 1).End(xlUp).Row
Case Else
WB.Worksheets(TabName).Rows("2:" & lr).Copy Destination:=WBAktiv.Sheets(TabZiel).Rows(lrZiel)
End Select
End If
'Mappe (ohne speichern) schließen
WB.Close False
Next i

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: erste Ausführung einer Schlaufe mit Case abfangen
14.06.2007 10:48:31
Andi
Hi,
die korrekte Syntax ist
Case 1
und nicht
Case i = 1
Dass es sich um die Variable i handelt, hast Du ja schon mit
Select Case i
festgelegt.
Schönen Gruß,
Andi

AW: erste Ausführung einer Schlaufe mit Case abfangen
14.06.2007 11:17:13
Peter
Hallo Andi
Vielen Dank - wäre zwar logisch, war mir jedoch nicht bewusst.
Peter

Anzeige
Gern geschehen... (ot)
14.06.2007 11:23:00
Andi
.

AW: erste Ausführung einer Schlaufe mit Case abfangen
15.06.2007 01:15:32
Daniel
Hallo
warum so kompliziert? Es geht auch ohne select case:

dim StartZe as integer
StartZe = 1
For i = 1 To lngZ
Set WB = Workbooks.Open(Filename:=strVerz & ShTab.Cells(i, 1))
lr = WB.Worksheets(TabName).Cells(Rows.Count, 2).End(xlUp).Row 'Spalte B wird abgefragt
If lr > 0 Then
lrZiel = WBAktiv.Sheets(TabZiel).Cells(Rows.Count, 1).End(xlUp).Row
WB.Worksheets(TabName).Rows(StartZe & ":" & lr).Copy Destination:=WBAktiv. _
Sheets(TabZiel).Cells(Rows.Count, 1).End(xlUp).Row
StartZe = 2
End If
WB.Close False
Next i


beim ersten durchlauf ist StartZe = 1, bei jedem weiteren Umlauf dann 2
Gruß. Daniel

Anzeige
AW: erste Ausführung einer Schlaufe mit Case abfangen
15.06.2007 06:52:14
Peter
Hallo Daniel
Vielen Dank für diesen Lösung. Man muss halt mit den Mitteln arbeiten, die man (mehr oder weniger) kennt ...
Gruss, Peter

AW: erste Ausführung einer Schlaufe mit Case abfangen
15.06.2007 20:35:00
Daniel
Eigentlich mußst du für diese Lösung doch viel weniger wissen, als für die erste ;-)
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige