Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1372to1376
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
Inhaltsverzeichnis

Code verändern

Code verändern
01.08.2014 17:00:38
Andreas

Hallo Excelprofis!
Mit folgendem Code (Dank an dieses Forum) schreibe ich Verknüpfungen zu Daten aus einer anderen Datei Blatt "Anwesenheit" (die Datei wird über Combobox ausgewählt) in die Tabelle Übersicht.
In einer anderen Datei bräuchte ich das gleiche, nur das die Ursprungswerte aus einer Tabelle in der gleichen Datei kommen.
Also jetzt wird das Tabellenblatt in der Combobox ausgewählt und die Formeln sollen in das Blatt "Einzeln" eingetragen werden.
Kann mir bitte Jemand helfen, wie der Code aussehen muss.

Private Sub CommandButton1_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 & "]Anwesenheit'!"
With ThisWorkbook.Sheets("Übersicht") ' Zielblatt
.Range("A8").Formula = "=" & "If(" & strForm & "$H$5" & "="""",""""," & strForm & "$H$5" _
& ")"
.Range("A3").Formula = "=" & "If(" & strForm & "A3" & "="""",""""," & strForm & "A3" & " _
)"
.Range("J1").Formula = "=" & "If(" & strForm & "J1" & "="""",""""," & strForm & "J1" & " _
)"
.Range("B5").Formula = "=" & "If(" & strForm & "B5" & "="""",""""," & strForm & "B5" & " _
)"
.Range("X5").Formula = "=" & "If(" & strForm & "X5" & "="""",""""," & strForm & "X5" & " _
)"
.Range("A9:AG33").Formula = "=" & "If(" & strForm & "A8" & "="""",""""," & strForm & " _
A8" & ")"
TextBox3.Value = Format(Sheets("Übersicht").Range("J1"), "YYYY-MM")
End With
End If
ActiveSheet.Protect Password:=""
End Sub
Danke fürs lesen und die Hilfe!
mfg, Andreas

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Codevorschlag - ungetestet
02.08.2014 08:40:57
Erich G.
Hi Andreas,
schau dir das mal an:

Private Sub CommandButton1_Click()
Dim strQBlatt As String
With ComboBox1
If .ListIndex > -1 Then strQBlatt = .List(.ListIndex)
End With
If strQBlatt <> "" Then
With ThisWorkbook.Sheets("Einzeln")                   ' Zielblatt
.Unprotect Password:="", UserInterfaceOnly:=True   ' bleibt in XL geschützt
strQBlatt = "'" & strQBlatt & "'!"                 ' Blatt 'eingerahmt'
' warum mit $?
.Range("A8").Formula = "=If(" & strQBlatt & "$H$5="""",""""," & strQBlatt & "$H$5)"
.Range("A3").Formula = "=If(" & strQBlatt & "A3="""",""""," & strQBlatt & "A3)"
.Range("J1").Formula = "=If(" & strQBlatt & "J1="""",""""," & strQBlatt & "J1)"
.Range("B5").Formula = "=If(" & strQBlatt & "B5="""",""""," & strQBlatt & "B5)"
.Range("X5").Formula = "=If(" & strQBlatt & "X5="""",""""," & strQBlatt & "X5)"
.Range("A9:AG33").Formula = "=If(" & strQBlatt & "A8="""",""""," & strQBlatt & "A8)"
'         TextBox3.Value = Format(Sheets("Übersicht").Range("J1"), "YYYY-MM")       ' unklar
End With
End If
End Sub
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Codevorschlag - ungetestet
02.08.2014 10:15:30
Andreas
Hallo Erich,
Habs mal kurz duchgetestet. Scheint zu funktionieren.
Die $-Zeichen rühren daher, dass ich die Formel per Makrorecorder aufgezeichnet habe. Geht also auch ohne.
Ich komme erst heute Abend dazu ausgiebig zu testen.
Ich danke für deine Hilfe und wünsch ein schönes WE!
mfg, Andreas

Vielen Dank für die Hilfe! Funtioniert!
04.08.2014 15:18:30
Andreas
Hallo Erich,
Dein Code funktioniert prima. Vielen Dank!
mfg, Andreas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige