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

Sortierung zwischen Tabellenblättern

Sortierung zwischen Tabellenblättern
19.09.2007 14:22:47
Benni
Hallo Forum,
Ich habe die Aufgabe eine Datei, die ziemlich ähnlich ist wie die, die ich angehängt habe, zu sortieren. Und zwar so: Es sollen Alle Tabellenblätter durchsucht werden, ob in der Spalte2 eine 0 steht. wenn da eine 0 steht, soll der wert in spalte 1 des worksheets in die tabelle1 geschrieben werden. Die Werte in Tabelle 1 sollen jedes mal untereinander geschrieben werden. Ich habe in der Beispieldatei in "modul" versucht das Problem zu lösen, es funktioniert jedoch einfach nicht. Kann mir jemand helfen?
Danke, Benni.
Datei:
https://www.herber.de/bbs/user/46171.xls

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

Betreff
Datum
Anwender
Anzeige
AW: Sortierung zwischen Tabellenblättern
19.09.2007 16:01:34
Wolli
Hallo Benni, da war schon viel schönes bei. Besser ist es hoffentlich so:

Sub Daten2()
Dim Wks As Worksheet, _
Suchzeile As Long, _
Zielzeile As Long
Zielzeile = 4
For Each Wks In ActiveWorkbook.Worksheets
If Wks.Name  "Tabelle1" Then
For Suchzeile = 1 To 65
If Wks.Cells(Suchzeile, 3) = 0 And Not (IsEmpty(Wks.Cells(Suchzeile, 3))) Then
Tabelle1.Cells(Zielzeile, 2) = Wks.Cells(Suchzeile, 2)
Zielzeile = Zielzeile + 1
End If
Next Suchzeile
End If
Next Wks
End Sub


Gruß, Wolli

AW: Sortierung zwischen Tabellenblättern
19.09.2007 16:05:36
fcs
Hallo Benni,
in deinen Beispielbltättern 2 und 3 stehen die auf 0 zu prüfennden Werte in Spalte 3!!
In deinem Makro gehen deshalb die Spalten-Nummern ein wenig durcheinander. ud es gibt kein ordentliches Ergebnis.
Zusätzlich muss du in der For-Next-Schleife prüfen, ob die schleife das Blatt ein bearbeiten will.
Gruß
Franz
So sollte es funktionieren.

Sub Daten2()
Dim zaehler As Long
Dim Wks As Worksheet, wksZiel As Worksheet
Dim i As Integer
Set wksZiel = ActiveWorkbook.Worksheets(1)
zaehler = 4
'vorhanden Einträge ab Zeile 4 löschen
With wksZiel
If .Cells(.Rows.Count, 1).End(xlUp).Row >= zaehler Then
.Range(.Cells(zaehler, 1), .Cells(.Rows.Count, 1).End(xlUp)).ClearContents
End If
End With
'Einträge in Tabellen suchen und übertragen
For Each Wks In ActiveWorkbook.Worksheets
If Wks.Name  wksZiel.Name Then
With Wks
For i = 1 To .Cells(.Rows.Count, 2).End(xlUp).Row
If .Cells(i, 2) = 0 And Not IsEmpty(.Cells(i, 2)) Then
wksZiel.Cells(zaehler, 1) = .Cells(i, 1).Value
zaehler = zaehler + 1
End If
Next i
End With
End If
Next Wks
End Sub


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige