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

Konto Daten Abfragen

Konto Daten Abfragen
20.01.2006 10:47:13
Heinz
Hallo Leute
Ich bräuchte für meine Kontoverwaltung,eine Abrage wie oft dieses Wort vorkommt dann Anzeigen.
Zb. in Tab.Blatt Jän. 02 in Zellen B steht der Text zum Abfragen.
Nun möchte ich in einem neuen Tab.Blatt die Daten wenn Übereinstimmungen vorhanden.Die dazugehörigen Daten in Zelle A + C +D.
Leider sind die Daten in Spalte B oft 2 bis 4 Zeilig.
Ich möchte damit einfach sehen wie oft Zb. "Rundfunkgebühren" schon bezahlt wurden
Oder hätte jemand vielleicht eine andere Idee ?
Danke & Gruss,Heinz
Habe mal eine Beispieldatei hochgeladen.
https://www.herber.de/bbs/user/30225.xls

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Konto Daten Abfragen
20.01.2006 11:10:07
heikoS
Hallo Heinz,
das sollte doch z.B. so funktionieren, oder?
=ZÄHLENWENN(Jän.02!B4:B37;"*Rundfunkgebühren*")
Gruß Heiko
AW: Konto Daten Abfragen
20.01.2006 11:27:20
Heinz
Hallo Heiko
Du hast mich glaube ich nicht ganz Verstanden,oder ich hab mich nicht klar ausgedrückt.
Ich möchte nicht wie oft,sondern die ganzen Daten also mit Datum = Spalte,Betrag =Spalte D Und Überweisung = Spalte C.
Also bei Übereinstimmung die ganzen Daten Kopieren.
Gruss Heinz
passe
20.01.2006 11:43:42
heikoS
Hallo Heinz,
da habe ich Dich wohl nicht ganz richtig verstanden.
Problematisch ist der Aufbau mit unterschiedlichen Zeilenanzahlen je Buchung. Ich hoffe für Dich, es findet einer ´ne Lösung.
Gruß Heiko
Anzeige
AW: passe
20.01.2006 11:54:24
Heinz
Hallo Heiko
Ja genau das ist der Schei..,
Aber Danke für Deine Unterstützung
Gruss Heinz
AW: passe
20.01.2006 12:31:06
Heinz
Probiere es anders
Danke Heinz
AW: passe
20.01.2006 12:46:14
Heinz
Schönen Tag Harald
Also ich bin ganz Entzückt von Dir,Du bist einfach der Absolute Wahnsinn !!
So nun das Detail:
Ich mache für jedes Monat als "Jän.02" "Feb.02" also bis jetzt ist "Dez.05"ein Tab.Blatt mit meinen ganzen Kontobewegungen.
Kann man Dein Makro so gestalten:
Im Tab.Blatt "Suchen" eben Dein makro zum Suchen eingeben & das es alle Dateien anzeigt die sie Findet ?
Ich weiss ich verlange schon wieder sehr viel von Dir !! ( Koffein & Zigarreten)
Aber diesmal sind wenigstens keine Verbundenen Zellen Dabei.
Gruss Heinz
Anzeige
AW: passe
20.01.2006 12:53:36
Matthias
Hallo Heinz,
ich hab mir schon gedacht, dass das über mehrere Blätter geht ;-)
Da muss einfach noch ne Schleife rum:

Option Explicit
Private Sub SuchenButton_Click()
Const z1 = 4 'erste Suchzeile
Dim shK As Worksheet
Dim z As Long, z0 As Long, i As Long, lz As Long
Dim blatt As Integer
Dim Datum As Date, BText As String, Valuta As Date, Betrag As Double
z0 = 7 'erste Ausgabezeile in "Suche"
Me.Rows(z0 & ":" & Rows.Count).ClearContents
'ab Blatt 2 bis zum letzten (1 ist wohl das Suchblatt)
For blatt = 2 To ThisWorkbook.Sheets.Count
Set shK = Sheets(blatt)
With shK
z = z1
lz = .Cells(Rows.Count, 1).End(xlUp).Row
Do
'Datensatz ermitteln:
Datum = .Cells(z, 1)
Valuta = .Cells(z, 3)
Betrag = .Cells(z, 4)
BText = ""
Do
BText = BText & " " & .Cells(z, 2)
z = z + 1
Loop Until .Cells(z, 1) <> "" Or z > lz
BText = Mid(BText, 2)
'Filter:
If InStr(UCase(BText), UCase(Range("Suchtext"))) > 0 Then
Cells(z0, 1) = Datum
Cells(z0, 2) = BText
Cells(z0, 3) = Valuta
Cells(z0, 4) = Betrag
z0 = z0 + 1
End If
Loop Until z > lz
End With
Next blatt
End Sub

Gruß Matthias
Anzeige
AW: passe
20.01.2006 13:07:53
Heinz
Hallo Matthias
Sorry das ich Dich mit Harald angeredet habe,aber ich war so im Glückstaumel über Dein Makro.
Leider biringt das Makro jetzt den Debugfehler in Zeile " Datum = .Cells(z, 1)"
Wüsstest Du Bitte woran es liegen Kann ?
Danke Heinz
AW: passe
20.01.2006 13:14:03
Matthias
Hallo Heinz,
Sorry das ich Dich mit Harald angeredet habe
Das hab ich gar nicht bemerkt.
Leider biringt das Makro jetzt den Debugfehler in Zeile " Datum = .Cells(z, 1)"
Welchen Fehler (Fehlernummer, Meldung)?
Das mit den Blättern stimmt so, Blatt 1 ist das Suchblatt und alle folgenden die Auszüge?
Gruß Matthias
Anzeige
AW: passe
20.01.2006 13:16:44
Heinz
Ja genau "Suche" ist das 1. Blatt
Fehler: Laufzeitfehler 13 - Typen unverträglich
Gruss Heinz
AW: passe
20.01.2006 13:22:44
Matthias
Hallo Heinz,
dann steht in der Zelle kein Datum. Umgehe es mal so:

On Error Resume Next
Datum = CDate(.Cells(z, 1))
If Err.Number > 0 Then Datum = CDate("9.9.1999")
On Error GoTo 0
Valuta = .Cells(z, 3)
Betrag = .Cells(z, 4)
BText = ""

wenn ein Fehler auftaucht, nimmt er einfach das Datum 9.9.99.
Der Fehler liegt wahrscheinlich an der Tabelle... musst du mal raussuchen, welcher Eintrag das ist.
Gruß Matthias
AW: passe
20.01.2006 13:30:14
Heinz
Hallo Matthias
Hab ich das richtig eingefügt ?
Kommt noch immer Fehler.
Oder Sollte ich in jedem Tab.Blatt die Überschrift löschen?
Danke Heinz
Option Explicit

Private Sub SuchenButton_Click()
Const z1 = 4 'erste Suchzeile
Dim shK As Worksheet
Dim z As Long, z0 As Long, i As Long, lz As Long
Dim blatt As Integer
Dim Datum As Date, BText As String, Valuta As Date, Betrag As Double
z0 = 7 'erste Ausgabezeile in "Suche"
Me.Rows(z0 & ":" & Rows.Count).ClearContents
'ab Blatt 2 bis zum letzten (1 ist wohl das Suchblatt)
For blatt = 2 To ThisWorkbook.Sheets.Count
Set shK = Sheets(blatt)
With shK
z = z1
lz = .Cells(Rows.Count, 1).End(xlUp).Row
Do
On Error Resume Next
Datum = CDate(.Cells(z, 1))
If Err.Number > 0 Then Datum = CDate("9.9.1999")
On Error GoTo 0
Valuta = .Cells(z, 3)
Betrag = .Cells(z, 4)
BText = ""
Do
BText = BText & " " & .Cells(z, 2)
z = z + 1
Loop Until .Cells(z, 1) <> "" Or z > lz
BText = Mid(BText, 2)
'Filter:
If InStr(UCase(BText), UCase(Range("Suchtext"))) > 0 Then
Cells(z0, 1) = Datum
Cells(z0, 2) = BText
Cells(z0, 3) = Valuta
Cells(z0, 4) = Betrag
z0 = z0 + 1
End If
Loop Until z > lz
End With
Next blatt
End Sub

Anzeige
AW: passe
20.01.2006 13:35:09
Matthias
Hallo Heinz,
ist richtig eingefügt.
An dieser Stelle dürfte eigentlich kein Fehler mehr kommen.
Test mal dies:

On Error Resume Next
Datum = CDate(.Cells(z, 1))
If Err.Number > 0 Then
MsgBox "Fehler in Blatt " & .Name & ", Zeile" & z
Exit Sub
On Error GoTo 0

Gruß Matthias
AW: passe
20.01.2006 13:49:51
Heinz
Hallo Matthias
Kommt leider noch immer ein Fehler
Lade mal eine Datei mit 3 Tab.Blätter hoch.
Vielleicht kommst Du Bitte auf den Fehler.
Gruss Heinz
https://www.herber.de/bbs/user/30229.xls
Anzeige
AW: passe
20.01.2006 14:04:17
Matthias
Hallo Heinz,
1. ich habe End If vergessen:

Datum = CDate(.Cells(z, 1))
If Err.Number > 0 Then
MsgBox "Fehler in Blatt " & .Name & ", Zeile" & z
Exit Sub
End If

Deshalb der Fehler "Loop ohne Do"
2. im März-Blatt fangen die Einträge schon in Zeile 3 an.
Gruß Matthias
AW: passe
20.01.2006 14:44:52
Heinz
Hallo Matthias
Genau das wars,hätte auch seber drauf kommen können.
Du bist echt ein Zauberer.
Ist wircklich Spitze.
Recht herzlichen Dank & noch einen schönen Tag.
Heinz
Danke für die Rückmeldung! -o.T.
20.01.2006 14:50:53
Matthias
:-)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige