Clever-Excel-Forum

Normale Version: Datenliste1 an Datenliste2 anhängen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin, Moin!

Ich hab da mal folgendes Problem:

Ich habe zwei dynamische Listen, beide in einem Tabellenblatt (Berechnungen) - Liste 1: A1:D1200, Liste 2: L1:O1200.

Die Anzahl der Werte wird durch eine Abfrage geregelt und kann von jeweils einem Datensatz bis zu eben 1200 Datensätzen beinhalten.
Ich möchte nun gerne Liste2 an Liste1 nach dem letzten Datensatz (Liste1) anhängen. Diese beiden Listen liegen bereits vor.

Der Gedanke hierzu:
Liste1 beinhaltet meine Einnahmen, bestehend aus Suchkriterium, Datum, Brutto-Betrag und Leerzelle
Liste2 beinhaltet meine Ausgaben, bestehend aus Suchkriterium, Datum, Leerzelle und Brutto-Betrag.
beide Listen werden bereits durch eine Matrix-Formel generiert - Leere Einträge werden als "Leer" wiedergegeben und nicht als "Null".

Eine komplette liste beider Datensatzlisten würde dann auf einem anderen Tabellenblatt nach dem Suchkriterium nur die Datensätze auswerfen
und somit eine Einnahmen-Ausgaben-Überschuss-Tabelle ergeben...

Über Hilfe wäre ich sehr dankbar, Dankeim Voraus!!!
Hallo,
kopier den Code in ein Modul und starte das Makro "DatenLesen" Es erfolgt eine Abfrage nach dem Datenfile 2.


Code:
Public Sub DatenLesen()
Dim fDialog As FileDialog
Dim WS As Worksheet
Dim M As Integer
Dim K as Integer
Dim FileName As String
Dim FN As String

On Error GoTo ErrorHandler
Application.ScreenUpdating = False
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
fDialog.AllowMultiSelect = False
fDialog.Title = "Select a file"
fDialog.Filters.Clear
fDialog.Filters.Add "Excel files", "*.xlsx"
fDialog.InitialFileName = ActiveWorkbook.Path
If fDialog.Show = -1 Then
   FileName = fDialog.SelectedItems(1)
Else
   Set fDialog = Nothing
   Exit Sub
End If
Set WS = Worksheets(ActiveSheet.Name)
M = WS.Cells(Rows.Count, 1).End(xlUp).Row + 1
Workbooks.Open FileName:=FileName, ReadOnly:=True
FN = ActiveWorkbook.Name
With ActiveWorkbook.Worksheets(ActiveSheet.Name)
     K = .Cells(Rows.Count, "L").End(xlUp).Row
     .Range("L1:O" & K).Copy Destination:=WS.Range("A" & M)
     Application.DisplayAlerts = False
     Workbooks(FN).Close
     Application.DisplayAlerts = True
End With
 Application.ScreenUpdating = True
Exit Sub
ErrorHandler:
Application.ScreenUpdating = True
MsgBox "Error mit Daten !" & Chr(10) & _
       "einlesen von Daten wird beendet!", vbCritical, "Wichtiger Hinweis"
End Sub

Da kein Beispiel im Anhang war konnte ich nicht testen!
Hallo, u.a. dafür ist Power Query gemacht... keine Formeln, kein VBA, dynamische Listen - passt.