Microsoft Excel

Herbers Excel/VBA-Archiv

Nach Zellinhalt suchen und Zeile in neue Tabellen

Betrifft: Nach Zellinhalt suchen und Zeile in neue Tabellen von: Steffen
Geschrieben am: 18.10.2012 10:38:26

Hallo VBA-Freunde,

ich verzweifle grad an folgender Situation:

In einer Quelltabelle gibt es in Spalte K eine Institusbezeichnung.
Nun sollen entsprechend der Institute diese Datensätze in neue Tabellen kopiert werden.
D.h. alle aus dem InstitutA nach Tabelle InstitutA ,alle aus B nach B, u.s.w.

dazu hatte ich mir folgendes überlegt:

Code:

Option Explicit


Sub Institut_Select()

Dim ws1 As Worksheet, ws2 As Worksheet, n As Long, pos As Long
Set ws1 = Worksheets("Quelldaten")
Set ws2 = Worksheets("Institute1")
Set ws3 = Worksheets("Institute2")
pos = 1
With ws1
For n = 1 To .Cells(65536, 11).End(xlUp).Row
If .Cells(n, 11) Like "InstitutA" Then
.Cells(n, 11).EntireRow.Copy Destination:=ws2.Cells(pos, 1)
pos = pos + 1
End If
Next n
End With
With ws1
For n = 1 To .Cells(65536, 11).End(xlUp).Row
If .Cells(n, 11) Like "InstitutB" Then
.Cells(n, 11).EntireRow.Copy Destination:=ws3.Cells(pos, 1)
pos = pos + 1
End If
Next n
End With
End Sub

Problem:
Es werden irgendwelche Zeilen Kopiert, aber nicht die, in der die entsprechende Institutsbezeichnung steht.
Wo ist mein Denkfehler ??

Steffen

  

Betrifft: 1.Warum 2 Zyklen, ... von: Luc:-?
Geschrieben am: 18.10.2012 11:19:38

…Steffen,
d.h. ja, der QuellBereich wird unnötigerweise 2x durchlaufen?!
2. pos wird nicht zurückgesetzt, dadurch entstehen Leerzeilen auf dem 2.Blatt (wäre mit nur einem Zyklus nicht passiert)!
3. Der HptFehler wird dem Vgl mittels Like-Operator geschuldet sein, denn, so wie der Vglsbegriff hier aussieht, läuft es darauf hinaus, dass in der Zelle tatsächlich "InstitutA" bzw "InstitutB" stehen muss. Sollen das aber Namen sein, hinter denen eine Aufzählung steht, ist das ohnehin die falsche Verfahrensweise (Nachlesen: VBE-Hilfe Operator Like). In diesem Fall könnte ggf mit WorksheetFunction.Match gearbeitet wdn. Anderenfalls solltest du im Archiv mal nach Dictionary recherchieren.
Gruß Luc :-?


 

Beiträge aus den Excel-Beispielen zum Thema "Nach Zellinhalt suchen und Zeile in neue Tabellen"