Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1072to1076
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

Problem mit UsedRange

Problem mit UsedRange
14.05.2009 11:04:57
PeterO
Hallo!
Ich habe ein Problem mit UsedRange. Von verschiedenen Personen bekomme ich Teilnehmerlisten für Veranstaltungen gemailt. Diese füge ich durch Kopieren in eine bestehende Datei als neues Tabellenblatt ein.
Die Listen sind alle nach dem selben Schema aufgebaut (Zeile 1-4 Überschriften, ab Zeile 5 die Teilnehmerdaten, die Anzahl ist unterschiedlich).
Mit folgendem Code kopiere ich dann die Teilnehmerdaten in eine Übersicht "Gesamt":

Sub kopieren()
Dim wks As Worksheet
Dim wksS As Worksheet
Dim rng As Range
Dim rngX As Range
Dim lnge As Long
Dim intC As Integer
Set wksS = Sheets("Gesamt")
lnge = wksS.Range("A65536").End(xlUp).Row + 1   'erste freie Zeile
For Each wks In ThisWorkbook.Sheets
If wks.Name  "Gesamt" Then
Set rng = wks.UsedRange
intC = 1
For Each rngX In rng
rngX.Copy wksS.Cells(lnge, intC)
intC = intC + 1
If intC > 3 Then
intC = 1
lnge = lnge + 1
End If
Next
End If
Next
End Sub


Mein Problem ist nun, dass durch den Befehl UsedRange immer die Überschriften der Zeilen 1-4 mit in die Gesamtübersicht kopiert werden. Was muss ich ändern, damit der UsedRange-Befehl erst ab Zeile 5 arbeitet?
Gruß Peter

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich kopieren
14.05.2009 11:36:31
Erich
Hi Peter,
probier mal

Option Explicit
Sub kopieren2()
Dim wksG As Worksheet, wks As Worksheet
Dim lngZ As Long, lngQ As Long
Set wksG = Sheets("Gesamt")
lngZ = wksG.Cells(wksG.Rows.Count, 1).End(xlUp).Row + 1  'erste freie Zeile
For Each wks In ThisWorkbook.Worksheets
If wks.Name  "Gesamt" Then
With wks
lngQ = .Cells(.Rows.Count, 1).End(xlUp).Row
If lngQ >= 5 Then
.Range(.Cells(5, 1), .Cells(lngQ, 3)).Copy wksG.Cells(lngZ, 1)
lngZ = lngZ + lngQ - 4
End If
End With
End If
Next
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Bereich kopieren
14.05.2009 12:08:49
PeterO
Hallo Erich,
super, danke, funktioniert.
...ich liebe dieses Forum...
Gruß Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige