PDA

Vollständige Version anzeigen : Dateipfad per UserForm abfragen


newirobi
30.05.2013, 19:35
Hallo,

Mein Ziel ist es aus zwei Excel-Dateien zwei Spalten zu vergleichen und mir ausgeben zu lassen, welche Nummer/Name in welcher Liste fehlt.
Dies funktioniert soweit auch schon ganz gut. Dazu hier erstmal mein Quellcode:

Private Sub cmdVergleich_Click()

Dim makroDatei As Workbook
Dim masterDatei As Workbook
Dim slaveDatei As Workbook
Set makroDatei = ThisWorkbook
Set masterDatei = Workbooks.Open("C:\xxxx\Tabelle1")
Set slaveDatei = Workbooks.Open("C:\xxxx\Test")

Dim anzahlZellenMaster As Integer
Dim anzahlZellenSlave As Integer
Dim i As Integer 'Schleifenzähler außen
Dim j As Integer 'Schleifenzähler innen
Dim b As Integer 'Listenzähler neue Liste

anzahlZellenMaster = masterDatei.Sheets("Tabelle1").Cells(Rows.Count, 12).End(xlUp).Row + 1
anzahlZellenSlave = slaveDatei.Sheets("Tabelle1").Cells(Rows.Count, 11).End(xlUp).Row + 1

b = 15
For i = 2 To anzahlZellenMaster
For j = 2 To anzahlZellenSlave
If masterDatei.Sheets("Tabelle1").Cells(i, 12).Value = slaveDatei.Sheets("Tabelle1").Cells(j, 11).Value Then
GoTo gleich1
End If
If j = anzahlZellenSlave Then
makroDatei.Sheets("Tabelle1").Cells(b, 1).Value = masterDatei.Sheets("Tabelle1").Cells(i, 12).Value
b = b + 1
End If
Next j
gleich1:
Next i

b = 15
For i = 2 To anzahlZellenSlave
For j = 2 To anzahlZellenMaster
If masterDatei.Sheets("Tabelle1").Cells(j, 12).Value = slaveDatei.Sheets("Tabelle1").Cells(i, 11).Value Then
GoTo gleich2
End If
If j = anzahlZellenMaster Then
makroDatei.Sheets("Tabelle1").Cells(b, 3).Value = slaveDatei.Sheets("Tabelle1").Cells(i, 11).Value
b = b + 1
End If
Next j
gleich2:
Next i

slaveDatei.Save
slaveDatei.Close
masterDatei.Save
masterDatei.Close


Set wkbTarg = Nothing
Set wkbOrig = Nothing
End Sub


Nun würde ich gern das Programm dahingehend erweitern, dass ich die Datein per UserForm auswähle und diese nicht schon im Quellcode fest eintragen muss. Kann mir da jemand weiterhelfen?

Danke!

GMG-CC
30.05.2013, 20:01
Hallo,

dass ich die Datein per UserForm auswähle
Es ist ein erheblicher Unterschied, darum die Frage: Ist da ein "i" zu viel oder fehlt da ein "e"?

newirobi
30.05.2013, 20:05
Oh Sorry...ich meinte Dateien!
Ich möchte quasi diese beiden Zeilen....

Set masterDatei = Workbooks.Open("C:\xxxxx\Tabelle1")
Set slaveDatei = Workbooks.Open("C:\xxxxxx\Test")

....so umformen, dass ich mir die Dateien per UserForm auswählen und einbinden kann.

Fragt bitte falls ich noch irgendwas unverständlich geschrieben habe!

GMG-CC
30.05.2013, 20:18
Hallo,

schau dir mal (in der Hilfe) den Punkt "FileDialog-Objekt" an, da wirst du fündig! Ich gehe nicht zu sehr in die Tiefe, weil ich mit 2010 glücklich bin und auch nicht vor habe, allzu bald zu 2013 zu wechseln ;).