Registriert seit: 05.04.2017
Version(en): 2013
Hallo Zusammen!
Ich habe folgendes Problem:
Ich habe verschiedene Excel-Dokument, die jeweils 30+ Tabellen beinhalten.
Jedes dieser Dokumente ist gleich aufgebaut.
Die erste Tabelle ist ein Overview und Tabelle 2 - X sind angaben zu einzelnen Daten(Usern).
In den Tabellen 2 - X sind eigentlich nur die User in Spalte A nacheinander aufgelistet.
Ich möchte ein Makro schreiben, das folgende Funktion hat:
In ein externes Excel-Sheet sollen alle User aus den Tabellen 2-X in Spalte A nacheinander aufgelistet werden und anschließend die Duplikate entfernt werden.
Kann mir hierzu jemand helfen?
Vielen Dank schon Mal im vorraus,
Grüße
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi,
(05.04.2017, 10:43)MarJohSel schrieb: und Tabelle 2 - X sind angaben zu einzelnen Daten(Usern).
In den Tabellen 2 - X sind eigentlich nur die User in Spalte A nacheinander aufgelistet.
was nun, mMn wiederspricht sich das?
Registriert seit: 28.05.2014
Version(en): 2013 / 2016
(05.04.2017, 10:43)MarJohSel schrieb: Ich möchte ein Makro schreiben, das folgende Funktion hat: [..]
... und was hindert dich daran, erst einmal eine Vorleistung in der Form zu erbringen, dass du mit dem Makro-Recorder erst einmal etwas aufzeichnest?
Das Ergebnis mit ein, zwei (gekürzten und anonymisierten) Muster-xlsx dann hier einstellen wäre hilfreich.
Beste Grüße
Günther
Excel-ist-sexy.de …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Registriert seit: 05.04.2017
Version(en): 2013
@Rabe
widerspricht sich nicht wirklich, damit meine ich dass sich die Daten auf eine Spalte beschränken
@GMG-CC
ich habe leider nicht so gute Kenntnisse in VBA/ mit Makros, aber habe natürlich auch versucht etwas aufzuzeichen
Sub User_Count()
'
' User_Count Makro
'
'
Windows("Salesman_count_20170329_ANDROID.xlsx").Activate
' Salesman_count_..... ist das Sheet aus dem ich die Daten haben will
Sheets("DA_DK_AGR").Select
' DA_DK_AGR ist die zweite Tabelle/ die erste die ich verwenden will
Range("A1").Select
Selection.End(xlDown).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
' hier will ich nur die Inhalte aus Spalte A kopieren
Windows("All_User.xlsm").Activate
ActiveSheet.Paste
Application.CutCopyMode = False
' hier will ich den kopierten Inhalt in das neue Excel Sheet einfügen
Selection.End(xlDown).Select
Range("A5").Select
' hier will ich ans Ende dieser eingefügten Liste springen, um dort anschließend den Inhalt der nächsten Tabelle einzufügen
Windows("Salesman_count_20170329_ANDROID.xlsx").Activate
Sheets("DA_DK_AGR_TURF").Select
Range("A1").Select
Selection.End(xlDown).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("All_User.xlsm").Activate
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.End(xlDown).Select
Range("A8").Select
Windows("Salesman_count_20170329_ANDROID.xlsx").Activate
Sheets("DA_DK_TURF").Select
Range("A1").Select
Selection.Copy
Windows("All_User.xlsm").Activate
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A9").Select
End Sub
-> Das ist das aufgezeichnete Makro für die Tabellenblätte 2-4
Registriert seit: 28.05.2014
Version(en): 2013 / 2016
Moin,
das ist doch schon einmal ein Anfang. Bleibt noch:
Zitat:Das Ergebnis mit ein, zwei (gekürzten und anonymisierten) Muster-xlsx dann hier einstellen wäre hilfreich.
damit wir das Ganze gut nachvollziehen können.
Beste Grüße
Günther
Excel-ist-sexy.de …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Registriert seit: 10.04.2014
Version(en): 2016 + 365
05.04.2017, 13:46
(Dieser Beitrag wurde zuletzt bearbeitet: 05.04.2017, 13:47 von Rabe.)
Hi,
(05.04.2017, 13:32)MarJohSel schrieb: @Rabe
widerspricht sich nicht wirklich, damit meine ich dass sich die Daten auf eine Spalte beschränken
ok, Du hast also X Blätter mit jeweils nur Daten (Usernamen) in Spalte A?
versuche mal dieses Makro an einer Kopie Deiner Dateien (Tabelle1 ist das neue Blatt):
Sub User_Count()
'
' User_Count Makro
'
'
For i = 2 To Sheet.Count
' Salesman_count_..... ist das Sheet aus dem ich die Daten haben will
' DA_DK_AGR ist die zweite Tabelle/ die erste die ich verwenden will
With Workbook("Salesman_count_20170329_ANDROID.xlsx").Sheets(i)
loLetzte1 = .Cells(Rows.Count, 1).End(xlUp).Row ' letzte belegte in Spalte A (1)
loLetzte = Workbook("All_User.xlsm").Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row ' letzte belegte in Spalte A (1)
' hier will ich nur die Inhalte aus Spalte A kopieren
' hier will ich den kopierten Inhalt in das neue Excel Sheet einfügen
.Range("A1:A" & loLetzte1).Copy Workbook("All_User.xlsm").Sheets("Tabelle1").Range("A" & loLetzte)
End With
Next i
Application.CutCopyMode = False
End Sub