Hallo,
ich werde Ihren Hinweis mal durchdenken. Erstmal besten Dank dafür. Es führen ja bekanntlich viele Wege nach Rom...
Mir geht es hauptsächlich das ganze soweit wie möglich automatisieren. Leider bin ich gern gelernter IT'ler oder Programmierer sondern Finanzwirt und habe mir mein jetzigen Kenntnisstand nach und nach selbst beigebracht - Naja, egal.
Hier mein aktueller Stand:
Sub Ruecklaufquote()
Dim wbQuelle1 As Workbook
Dim wbQuelle2 As Workbook
Datei = Application.GetOpenFilename("Excel, *.xls*")
If LCase(Datei) Like "fal*" Then Exit Sub
Set wbQuelle1 = Workbooks.Open(Datei, ReadOnly:=True)
wbQuelle1.Activate 'ausgewählte Monitoringauswahl öffnen
Columns("A:BA").Select 'Zeilen A-BA auswählen
Selection.Copy 'Auswahl kopieren
ThisWorkbook.Activate 'Vorlagendatei öffnen
Sheets(1).Select 'Reiter 2 aktivieren
Columns("A:A").Select 'Spalte A anwählen
ActiveSheet.Paste 'Auswahl einfügen
Application.CutCopyMode = False 'Auswahl aufheben
wbQuelle1.Close 'Monitoringauswahl schließen
ThisWorkbook.Activate
Sheets.Add After:=Sheets(Sheets.Count) 'neuen Reiter anlegen
Datei = Application.GetOpenFilename("Excel, *.xls*")
If LCase(Datei) Like "fal*" Then Exit Sub
Set wbQuelle2 = Workbooks.Open(Datei, ReadOnly:=True)
wbQuelle2.Activate 'ausgewählte Kopfliste öffnen
Columns("A:Z").Select 'Zeilen A-Z auswählen
Selection.Copy 'Auswahl kopieren
ThisWorkbook.Activate 'Monitoringauswertung öffnen
Sheets(2).Select 'Reiter 2 aktivieren
Columns("A:A").Select 'Spalte A anwählen
ActiveSheet.Paste 'Auswahl einfügen
Application.CutCopyMode = False 'Auswahl aufheben
wbQuelle2.Close 'Kopfliste schließen
'---=== Dublettenprüfung ===---
Sheets(1).Select
Range("AZ1").Select
ActiveCell.Formula = "=COUNTA(U2:U10000)" 'Zählen der Monitoringdaten in Spalten U
Range("AZ1").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False 'Wert in AZ1 mittels Wert einfügen fixieren
Columns("A:AX").Select
Application.CutCopyMode = False
ActiveSheet.Range("$A$1:$AX$10000").RemoveDuplicates Columns:=Array(6, 7, 8, 20) _
, Header:=xlYes 'Dublettenprüfung in auf Basis Spalten 6,7,8,21
Range("AZ2").Select
ActiveCell.Formula = "=COUNTA(U2:U10000)" 'Zählen der Monitoringdaten in Spalten U nach Dublettenbereinigung
Range("AZ2").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False 'Wert in AZ2 mittels Wert einfügen fixieren
Columns("A:AX").Select
Application.CutCopyMode = False
Sheets(2).Select
Range("G1").Select
ActiveCell.Formula = "=COUNTA(D2:D10000)" 'Zählen der Kopfdaten in Spalten D
Range("G1").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False 'Wert in G1 mittels Wert einfügen fixieren
Columns("A:D").Select
Application.CutCopyMode = False
ActiveSheet.Range("$A$1:$D$10000").RemoveDuplicates Columns:=Array(1, 2, 3, 4) _
, Header:=xlYes 'Dublettenprüfung in auf Basis Spalten 1,2,3,4
Range("G2").Select
ActiveCell.Formula = "=COUNTA(D2:D10000)" 'Zählen der Kopfdaten in Spalten D nach Dublettenbereinigung
Range("G2").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False 'Wert in G2 mittels Wert einfügen fixieren
Columns("A:D").Select
Application.CutCopyMode = False
'---===Tabellenabgleich===---
'???
'SVERWEIS???
End Sub |