Niklas schrieb am 09.11.2010 16:49:26:
Severus schrieb am 09.11.2010 16:41:59:
Niklas schrieb am 09.11.2010 16:15:06:
Hey Ihr lieben,
ich versuche hier schon seit einiger Zeit eine Übersichtsdatei über einige Kunden zu erstellen.
Dabei möchte ich in VBA mit einer Loop-Funktion, dass in Spalte A der Wert A2 aus einem externen Excel Arbeitsblatt steht, in B der Wert B2, in C der Wert A4 in E der Wert AH1 und in F der Wert AI1.
Dabei habe ich mir gedacht, dass der Pfad (bis auf den Namen der Excel Datei) als simple Eingabe eingegeben wird und der Name der Excel Datei wird über eine Userform eingegeben.
Bis jetzt habe ich den Code, allerdings funktioniert der noch nicht so wie er soll.
Worksheets("Übersicht").Select
Range("A2").Select
i = 0
Do
i = 1 + i
Loop Until ActiveCell.Offset(0, i) = ""
ActiveCell.Offset(0, i).Value = "='C:\Dokumente und Einstellungen\Administrator\Desktop\Fertig\["kunde".xls]Kunden'!$A$2"
Hi Niklas,
sei mir nicht böse, aber das ist gequirlte Sch...!
Entweder Du versuchst einen Wert, also Value, einzugeben, dann muß die Datei offen sein und der Befehl lautet:
Workbooks.open C:\Dokumente und Einstellungen\Administrator\Desktop\Fertig\kunde.xls
ActiveCell.Offset(0, i).Value = Workbooks(kunde.xls).Sheets("Kunden").Range($A$2)
oder Du erstells eine Verknüpfung mit der Ursprungsdatei. Dann ist das aber kein Value, sondern eine Formel:
ActiveCell.Offset(0, i).Formula = "='C:\Dokumente und Einstellungen\Administrator\Desktop\Fertig\[kunde.xls]Kunden'!$A$2"
Severus
Hallo Severus,
dann brauche ich wohl die Formel:
ActiveCell.Offset(0, i).Formula = "='C:\Dokumente und Einstellungen\Administrator\Desktop\Fertig\[kunde.xls]Kunden'!$A$2"
nur wie bekomme ich es jetzt hin, dass ich " [kunde.xls] " in einer userform eingeben kann?
Grüße,
Niklas
Kein Problem:
ich setze eine UseForm mit einer (zwei) Textbox(en) voraus:
Dim strDatei As String
Dim strBlatt As String
strDatei = UserForm1.TextBox1.Text 'Aufruf der Form etc überlasse ich Dir!
strBlatt = UserForm1.TextBox2.Text 'Nur, wenn das Blatte immer anders heißt!
ActiveCell.Offset(0, i).Formula = "='C:\Dokumente und Einstellungen\Administrator\Desktop\Fertig\[" & strDatei & "]Kunden'!$A$2"
oder
ActiveCell.Offset(0, i).Formula = "='C:\Dokumente und Einstellungen\Administrator\Desktop\Fertig\[" & strDatei & "]" & strBlatt & "'!$A$2"
Severus |