Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Konto Daten Abfragen

Forumthread: 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
Anzeige

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
Anzeige
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
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
Anzeige
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
Anzeige
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
Anzeige
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
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
Anzeige
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
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige