Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1348to1352
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Textboxen mit Werten aus anderer Mappe füllen
05.02.2014 12:19:54
Andreas
Hallo Excelprofis,
Ich habe mal wieder ein Problemchen, welches ich mit meinen bescheidenen Kenntnissen nicht lösen kann.
Ich möchte per Commandbutton (Userform) verschiedene Textboxen mit Werten aus einer, per Combobox wählbaren, Datei füllen, ohne die andere Datei zu öffnen. Die Werte der Textboxen werden dann wiederum per Commandbutton in das aktive Blatt geschrieben (ist schon fertig).
Folgenden Code habe ich schon aus anderen Projekten:
Auswahl der Datei in der Combobox:

Private Sub UserForm_Initialize()
Dim strFile As String
strFile = Dir(ThisWorkbook.Path & "\*.xlsm")
ComboBox1.Clear
Do Until strFile = ""
ComboBox1.AddItem Left(strFile, Len(strFile))
strFile = Dir
Loop
End Sub

Ich glaube, einen Teil der Übernahme der Werte hab ich auch schon. Ist aus einem anderen Projekt:

Private Sub CommandButton17_Click()
Dim strFile As String, strForm As String
With ComboBox1
If .ListIndex > -1 Then
strFile = .List(.ListIndex)
Else
' keine Datei ausgewählt - was tun?
End If
End With
If strFile  "" Then
End With
End If
End Sub
In diesen Codeschnipsel müsste dann folgendes integriert werden.

TextBox18 = Sheets("Formular").Range("O7")
TextBox1 = Sheets("Formular").Range("O11")
TextBox2 = Sheets("Formular").Range("O9")
TextBox3 = Sheets("Formular").Range("C19")
TextBox4 = Sheets("Formular").Range("C20")

Also nach Auswahl der Datei (über ComboBox1) und klick auf CommandButton17 soll in der Textbox18 der Wert von O7 des Blattes "Formular" der ausgewählten Datei stehen. usw.
Kann mir da Jemand helfen?
Danke fürs Lesen und die Hilfe!
MFG, Andreas

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textboxen mit Werten aus anderer Mappe füllen
05.02.2014 12:33:57
Rudi
Hallo,
das einfachste ist per Makro eine Formel in ein (ausgeblendetes) Blatt zu schreiben und da auszulesen.
z.B.
sheets("tmp").Range("A1").formulalocal="='[ &strFile &"]Formular'!O7"
Ansonsten noch per ExecuteExcel4Macro-Methode
Gruß
Rudi

AW: Textboxen mit Werten aus anderer Mappe füllen
05.02.2014 12:50:24
Andreas
Hallo Rudi,
wie immer, Danke für die Hilfe. Ich weiß nicht ob ich verstanden habe was du meinst. Habe ein Blatt ("tmp") angelegt, und den Code

Sheets("tmp").Range("A1").formulalocal="='[ &strFile &"]Formular'!O7"
nach

If strFile  "" Then
eingefügt.
Wenn ich das richtig verstanden habe soll damit der Wert aus O7 der gewählten Mappe nach A1 des Blattes tmp geschrieben werden.
Ich bekomme allerdings einen "Fehler beim Kombilieren" Syntaxfehler.
mfg, Andreas

Anzeige
AW: Textboxen mit Werten aus anderer Mappe füllen
05.02.2014 12:53:03
Rudi
Hallo,
was steht denn in strFile?
Gruß
Rudi

AW: Textboxen mit Werten aus anderer Mappe füllen
05.02.2014 12:55:01
Andreas
z.B.: Datei 0815.xlsm

AW: Textboxen mit Werten aus anderer Mappe füllen
05.02.2014 13:01:55
Rudi
Hallo,
den Pfad brauchst du auch.
Gruß
Rudi

Tipp
05.02.2014 13:02:44
Rudi
füg mal die Formel von Hand ein und lass dabei den Recorder laufen.

AW: Tipp
05.02.2014 13:24:24
Andreas
Danke, werde ich machen. Rückmeldung später.
mfg, Andreas

AW: Tipp
05.02.2014 16:24:06
Andreas
Hallo Rudi,
Danke für den Tipp - hat mich daran erinnert das ich die Lösung ja schon aus einem anderen Projekt hatte:

Private Sub CommandButton17_Click()
Dim strFile As String, strForm As String
'ActiveSheet.Unprotect Password:=""
With ComboBox1
If .ListIndex > -1 Then
strFile = .List(.ListIndex)
Else
' keine Datei ausgewählt - was tun?
End If
End With
If strFile  "" Then
' Anfang der Formel
strForm = "'" & ThisWorkbook.Path & "\[" & strFile & "]Formular'!"
With ThisWorkbook.Sheets("Userform") ' Zielblatt
.Range("H3").Formula = "=" & "If(" & strForm & "$O$7" & "="""",""""," & strForm & "$O$7" _
& ")"
.Range("H4").Formula = "=" & "If(" & strForm & "O9" & "="""",""""," & strForm & "O9" & " _
)"
.Range("H5").Formula = "=" & "If(" & strForm & "O11" & "="""",""""," & strForm & "O11" & _
")"
.Range("I3").Formula = "=" & "If(" & strForm & "C19" & "="""",""""," & strForm & "C19" & _
")"
.Range("I4").Formula = "=" & "If(" & strForm & "C20" & "="""",""""," & strForm & "C20" & _
")"
.Range("I5").Formula = "=" & "If(" & strForm & "C21" & "="""",""""," & strForm & "C21" & _
")"
.Range("I6").Formula = "=" & "If(" & strForm & "C22" & "="""",""""," & strForm & "C22" & _
")"
.Range("I7").Formula = "=" & "If(" & strForm & "C23" & "="""",""""," & strForm & "C23" & _
")"
.Range("I8").Formula = "=" & "If(" & strForm & "O19" & "="""",""""," & strForm & "O19" & _
")"
.Range("I9").Formula = "=" & "If(" & strForm & "O20" & "="""",""""," & strForm & "O20" & _
")"
.Range("I10").Formula = "=" & "If(" & strForm & "O21" & "="""",""""," & strForm & "O21"  _
& ")"
.Range("I11").Formula = "=" & "If(" & strForm & "O22" & "="""",""""," & strForm & "O22"  _
& ")"
.Range("I12").Formula = "=" & "If(" & strForm & "O23" & "="""",""""," & strForm & "O23"  _
& ")"
.Range("I13").Formula = "=" & "If(" & strForm & "AA19" & "="""",""""," & strForm & " _
AA19" & ")"
.Range("I14").Formula = "=" & "If(" & strForm & "AA20" & "="""",""""," & strForm & " _
AA20" & ")"
.Range("I15").Formula = "=" & "If(" & strForm & "AA21" & "="""",""""," & strForm & " _
AA21" & ")"
.Range("I16").Formula = "=" & "If(" & strForm & "AA22" & "="""",""""," & strForm & " _
AA22" & ")"
.Range("I17").Formula = "=" & "If(" & strForm & "AA23" & "="""",""""," & strForm & " _
AA23" & ")"
End With
End If
'ActiveSheet.Protect Password:=""
End Sub
Hiermit setze ich Verknüpfungen zum Quellblatt.
Nochmals vielen Dank für die Hilfe!
mfg, Andreas
Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige