Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
876to880
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
876to880
876to880
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige