Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1400to1404
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

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

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

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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige