Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
540to544
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
540to544
540to544
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Pfadangabe in Makro

Pfadangabe in Makro
03.01.2005 17:12:35
Basti
Hallo Forum,
in meiner Tabelle stand in Zelle "P15" ein Pfad und in Zelle "P16" ein Dateiname und in Zelle "P17" ein Blattname.
Mit dem Makro
Sub BastiR()
Dim strSource As String, Pfad As String, Datei As String, Blatt As String
Pfad = Range("P15").Text
Datei = Range("P16").Text
Blatt = Range("P17").Text
strSource = "'" & Pfad & "\[" & Datei & "]" & Blatt & "'!R9C1"
Range("C7").Value = ExecuteExcel4Macro(strSource)
konnte aus der Datei ein Wert ausgelesen und in die Datei kopiert werden.
Nun soll in Zelle “P15” der Pfad mit Dateiname nach diesem Muster stehen:
G:\DAT\User\SK\Dateien\Tabelle1.xls
In Zelle „P17“ steht weiterhin der Blattname.
Leider passt der Ausdruck hinter der Variablen „strSource“ nun nicht mehr, da der Dateiname anscheinend separat in eckigen Klammern gefasst werden muss.
Ich weiß mir keinen Rat wie der Ausdruck umgestellt werden muss und jeder Versuch schlug fehl, kann mir einer helfen?
Gruß von Basti

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfadangabe in Makro
Reinhard
Hi Basti,
probiers mal so:

Sub BastiR()
Dim strSource As String, Pfad As String, Datei As String, Blatt As String
Dim pos As Integer
pos = InStrRev(Range("P15").Text, "\") 'Position des letzten \ in P15
Pfad = Left(Range("P15").Text, pos - 1)
Datei = Mid(Range("P15").Text, pos + 1)
Blatt = Range("P17").Text
strSource = "'" & Pfad & "\[" & Datei & "]" & Blatt & "'!R9C1"
Range("C7").Value = ExecuteExcel4Macro(strSource)
End Sub

Gruß
Reinhard
AW: Pfadangabe in Makro
03.01.2005 18:37:52
Josef
Hallo Basti!
Sollte funzen!

Sub BastiR()
Dim strSource As String, Pfad As String, Blatt As String
Dim n As Integer
Pfad = Range("P15").Text
Blatt = Range("P17").Text
n = Len(Pfad) - InStr(1, StrReverse(Pfad), "\")
strSource = "'" & Left(Pfad, n + 1) & "[" & Mid(Pfad, n + 2, 99) & _
"]" & Blatt & "'!R9C1"
End Sub

Gruß Sepp
Anzeige
AW: Pfadangabe in Makro
Beni
Hallo Basti,
Gruss Beni

Sub BastiR()
Dim strSource As String, Pfad As String, Datei As String, Blatt As String
Dim i As Integer
For i = Len(Range("P15")) To 1 Step -1
If Mid(Range("P15"), i, 1) = "\" Then
Pfad = Left(Range("P15").Text, i - 1)
Datei = Right(Range("P16").Text, Len(Range("P15")) - i)
Exit For
End If
Cells(i, 1).Value = Mid(Range("P15").Text, i, 1)
Next i
Blatt = Range("P17").Text
strSource = "'" & Pfad & "\[" & Datei & "]" & Blatt & "'!R9C1"
Range("C7").Value = ExecuteExcel4Macro(strSource)
End Sub

Anzeige
Vielen Dank den Helfern
Basti
Vielen Dank den Helfern. Klappt alles wunderbar.
Wünsche Euch alles Gute, Basti

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige