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

Daten filtern

Daten filtern
09.11.2006 21:16:17
Thomy
Hallo
Ich importiere Daten aus einer SQl-Datenbank in die Tabelle1. Diese Daten werden beim Öffnen der Arbeitsmappe immer aktualisiert.
Ich möchte nun im 2. Tabellenblatt nur jene Zeilen anzeigen lassen, die in der Spalte K z.B. den Wert Fax haben. In einem weiteren Tabellenblatt nur jene Zeilen die in der Spalte L den Wert Monitor haben usw. Das ganze muss sich beim Öffnen immer wieder aktualisieren.
Im Voraus vielen Dank für einen Tipp.
Thomy

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten filtern
09.11.2006 23:00:35
ramses
Hallo
den Code in das Klassenmodul "Diese Arbeitsmappe" kopieren
Option Explicit

Private Sub Workbook_Open()
Dim i As Long
Dim srcSheet As Worksheet
Dim tarSheet1 As Worksheet, tarSheet2 As Worksheet, tarSheet3 As Worksheet
Set srcSheet = Worksheets("Tabelle_mit_SQL-Daten")
Set tarSheet1 = Worksheets("Tabelle_mit_FAX-Daten")
Set tarSheet2 = Worksheets("Tabelle_mit_Monitor-Daten")
Set tarSheet3 = Worksheets("Tabelle_mit_sonstigen-Daten")
'FAX Daten kopieren
tarSheet1.Cells.Clear
With srcSheet
.Rows(1).Copy tarSheet1.Rows(1)
For i = 2 To .Cells(.Rows.Count, 1)
If .Cells(i, 11) = "FAX" Then '11 = K
.Rows(i).Copy tarSheet1.Rows(tarSheet1.Cells(Rows.Count, 1).End(xlUp).Row + 1)
End If
Next i
End With
'Monitordaten kopieren
tarSheet2.Cells.Clear
With srcSheet
.Rows(1).Copy tarSheet2.Rows(1)
For i = 2 To .Cells(.Rows.Count, 1)
If .Cells(i, 12) = "Monitor" Then '12 = L
.Rows(i).Copy tarSheet2.Rows(tarSheet1.Cells(Rows.Count, 1).End(xlUp).Row + 1)
End If
Next i
End With
'Sonstige Daten kopieren
tarSheet3.Cells.Clear
With srcSheet
.Rows(1).Copy tarSheet3.Rows(1)
For i = 2 To .Cells(.Rows.Count, 1)
If .Cells(i, 12) = "Monitor" Then '12 = L
.Rows(i).Copy tarSheet3.Rows(tarSheet1.Cells(Rows.Count, 1).End(xlUp).Row + 1)
End If
Next i
End With
'Bei weiteren Daten
'einfach genauso wie oben weitermachen
'Variablen zurücksetzen
Set srcSheet = Nothing
Set tarSheet1 = Nothing
Set tarSheet2 = Nothing
Set tarSheet3 = Nothing
End Sub

Sollte eigentlich funktionieren
Gruss Rainer
Anzeige
AW: Daten filtern
10.11.2006 07:04:32
Thomy
Hallo Rainer
Funktioniert leider nicht. Beim Öffnen der Arbeitsmappe passiert gar nichts.
Wenn ich den Code bei geöffneter Arbeitsmappe ausführe wird in jedes Tabellenblatt nur die erste Zeile eingefügt.
Gruss
Thomy
AW: Daten filtern
11.11.2006 22:10:02
ramses
Hallo
Ich gehe davon aus, dass die Daten in Spalte A beginnen und schaue dort nach wieviele Dateneinträge vorhanden sind
.Cells(.Rows.Count, 1)
1 = A
2 wäre B
3 wäre C usw.
Das musst du halt anpassen
Gruss Rainer

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige