06.06.2023, 15:11
(Dieser Beitrag wurde zuletzt bearbeitet: 06.06.2023, 15:13 von ÄxcelFoley.)
Hallo Forum!
Ich habe ein Makro, mit dem ich aus einer anderen Excel Datei einen Wert auslesen kann. Den ganzen langen Code lasse ich erstmal der Übersicht halber weg, wäre auch zu speziell (denke ich).
Der Ablauf:
Der Wert der Zelle A1 wird aus Exceldatei1 ausgelesen und kopiert - anschließend in Exceldatei2 / Tabelle1 importiert und zwischengespeichert.
Der Wert wird dann in einer Userform ausgegeben:
Ich habe nun das Problem, dass das Projekt natürlich im System definiert ist. Es beginnt mit P, es folgen 9 Zahlen und in manchen Fällen ein einzelner Buchstabe. Hier fällt mir aber keine sinnige Lösung ein, damit kein Leerzeichen auftaucht oder andere sonderliche Fehler passieren. (P_123456789 // P123456789_A // ... )
Begrenze ich die Textbox auf 10 Stellen erzeuge ich einen Fehler. Ich könnte auch nur die ersten 10 Zeichen importieren, aber dann habe ich in seltenen Fällen Leerzeichen drin. Ich hoffe man versteht die Probleme, auch wenn diese nur selten auftauchen. ^^
Hat jemand eine schlaue Idee?
Ich habe ein Makro, mit dem ich aus einer anderen Excel Datei einen Wert auslesen kann. Den ganzen langen Code lasse ich erstmal der Übersicht halber weg, wäre auch zu speziell (denke ich).
Der Ablauf:
Der Wert der Zelle A1 wird aus Exceldatei1 ausgelesen und kopiert - anschließend in Exceldatei2 / Tabelle1 importiert und zwischengespeichert.
Code:
Option Explicit
Function AusleseDatei (sFilename As String, sExtSheet As String) As Boolean
Dim rng As Range, sFile As String, sPath As String, oldStatusBar As Boolean
Dim zei As Long, intPos As Integer
intPos = InStrRev(sFilename, "\")
sPath = Left(sFilename, intPos)
sFile = Mid(sFilename, intPos + 1)
With Sheets("Tabelle1")
.Cells(1, 1).Formula = "='" & sPath & "[" & sFile & "]" & sExtSheet & "'!A1"
Set rng = .Range("A1:A5")
rng.Value = rng.Value
Worksheets("Tabelle1").Range("A1:A5").NumberFormat = "General"
AusleseDatei = WorksheetFunction.CountBlank(Sheets("Tabelle1").Range("A1:A5")) = 0
End With
End Function
Der Wert wird dann in einer Userform ausgegeben:
Code:
TextboxXYZ = Tabelle1.Range("A1").Value
Ich habe nun das Problem, dass das Projekt natürlich im System definiert ist. Es beginnt mit P, es folgen 9 Zahlen und in manchen Fällen ein einzelner Buchstabe. Hier fällt mir aber keine sinnige Lösung ein, damit kein Leerzeichen auftaucht oder andere sonderliche Fehler passieren. (P_123456789 // P123456789_A // ... )
Begrenze ich die Textbox auf 10 Stellen erzeuge ich einen Fehler. Ich könnte auch nur die ersten 10 Zeichen importieren, aber dann habe ich in seltenen Fällen Leerzeichen drin. Ich hoffe man versteht die Probleme, auch wenn diese nur selten auftauchen. ^^
Hat jemand eine schlaue Idee?