Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wert aus geschlossener Mappe anzeigen/lesen

Forumthread: Wert aus geschlossener Mappe anzeigen/lesen

Wert aus geschlossener Mappe anzeigen/lesen
12.01.2015 11:14:54
Muehli
Hallo zusammen,
ich habe mal eine Frage:
Ich versuche einen Wert aus einer geschlossenen Excelmappe (hier erstmal nur C2) in einem zweiten Dokument als Messagebox auszugeben. Hierbei soll jedoch nur ein Teil des Inhalts ausgegeben werden aber der Fehler liegt schon irgendwo vor der "Split-Anweisung".
Leider bekomme ich das noch nicht hin und verstehe auch nicht woran es liegt.
Kann mir jemand sagen wo mein Denkfehler ist?
Dim pfad As String, dateiX As String, blatt As String, zeile As String, spalte As String,  _
zelleC As String, zelleN As String
Dim ArrZelleAlarm() As String
i = 2
pfad = Left(Importieren.Datei.Value, InStrRev(Importieren.Datei.Value, "\"))
dateiX = Mid(Importieren.Datei.Value, InStrRev(Importieren.Datei.Value, "\") + 1)
blatt = "DiscreteAlarms"
zelleC = "C" & i
zelleN = "N" & i
ZelleAlarm = ExecuteExcel4Macro("'" & pfad & "\[" & dateiX & "]" & blatt & "'!" & Range(zelleC). _
_
Address(, , xlR1C1))
ArrZelleAlarm() = Split(ZelleAlarm)
ZelleAlarm = ArrZelleAlarm(1)
MsgBox ZelleAlarm
End Sub
Vielen Dank schonmal für Eure Antworten!
Gruß
Muehli

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Wert aus geschlossener Mappe anzeigen/lesen
12.01.2015 11:33:38
Daniel
Hi
du verwendest als Trennzeichen das Leerzeichen (das ist der Default-Wert wenn kein Trennzeichen angegeben wird)
wenn der zurückgegebene Zellwert kein Leerzeichen enthält, dann wird nichts getrennt und dein Array ArrZelleAlarm enthält nur einen Wert.
Da das bei Split erstellte Array die Basis 0 hat, gibt es in diesem Fall nur den Index 0 und keinen Index 1 und du müsstest die Fehlermeldung 9 "index ausserhalb des gültigen Bereichs" bekommen.
lass dir also zur Kontrolle erstmal den originalwert anzeigen.
diesen Fall könntest du so abfangen, wenn du aus dem Text das zweite Wort haben willst (wenn es das gibt), mit UBound(Array) ermittelst du die höchste Index-Nummer im Array.
If UBound(ArrZelleArlarm) > 0 Then
ZelleAlarm = ArrZelleAlarm(1)
Else
ZelleAlarm = ArrZelleAlarm(0)
end If
Gruß Daniel

Anzeige
AW: Wert aus geschlossener Mappe anzeigen/lesen
12.01.2015 11:43:18
Muehli
Hallo Daniel,
Nun kommt die Fehlermeldung, dass die Typen nicht verträglich sind.
Ich habe gerade gesehen, dass in meiner Variablen "ZelleAlarm" der Wert "Fehler 2023" hinterlegt ist.
Ist das vielleicht das Problem?
Wenn ja, was ist an dem Code falsch?
Gruß
Muehli

Anzeige
Ein Fehlerwert ist kein Text und kann nicht ...
12.01.2015 11:57:27
Luc:-?
…gesplittet wdn, Muehli,
weshalb in diesem speziellen Fall durchaus ein Fehler ausgelöst wdn wird (DatenTypen unverträglich!).
Falls du den erst in einen String umwandelst, ArrZelleAlarm = Split(CStr(ZelleAlarm)), erhältst du folgd Datenfeld: {"Fehler"."2023"}
Aber, ob dir das lieber ist…
Immerhin könntest du dann mit Err.Raise CLng(ArrZelleAlarm(1)) den Fehler #BEZUG! auslösen, den du aus der Datei übernommen hast… ;-]
Gruß, Luc :-?

Anzeige
AW: Ein Fehlerwert ist kein Text und kann nicht ...
12.01.2015 12:00:03
Muehli
Oh ich habe meinen Fehler gefunden.
in "pfad" war am ende ein "\" hinterlegt, welches ich im Code nochmals eingefügt habe.
Somit war der Pfad falsch und es gab einen Bezugsfehler.
Naja wieder etwas dazugelernt^^
Danke für Eure Mühe!
Gruß
Muehli
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige