ich habe ein Problem. Ich möchte Überprüfen ob ein Range, das über eine Inputbox eingegeben wir sich in einer bestimmten Spalte befinde. Hier für vergleiche ich den Text, der sich in der ersten Zelle der Spalte befindet, mit einem fest vorgegebenen String. Wenn sich der Range in der gleichen Datei wie das Makro selbst Funktioniert das ganze auch Problemlos. Es ist nur leider nötig, dass das Range in einer anderen Datei als das Makro selbst liegt. Und aus mir unerklälichen Gründen geht der vergleich in diesem Fall schief. Zu testzwecken lasse ich mir auch den Text der ersten Zelle in einer Msgbox ausgeben. Der Text in der Msgbox ist wie erwartet mit dem fest vorgegebenen String identisch. Sowohl eine direkter Vergleich, als auch eine suche mit InStr schlagen fehl wenn sich das Range in einer anderen Datei befinden.
Hier der Code Datei A:
Sub test()
On Error Resume Next
Set Bereich = Application.InputBox(prompt:="Bereich wählen", Type:=8) 'abfrage wahl des _
bereiches
If Bereich.Validation.Value = False Then
' "abgebrochen"
Set Bereich = Nothing
Exit Sub
End If
'check D2X_ObjID
erste_zelle = Workbooks(ActiveWorkbook.Name).Worksheets(Bereich.Worksheet.Name).Cells(1,Bereich. _
Column).Value
If (InStr(1, erste_zelle, "D2X_ObjID")) = 0 Then
'If erste_zelle "D2X_ObjID" Then
MsgBox "Fehler " & " " & ActiveWorkbook.Name & " " & erste_zelle & ""
Else
MsgBox "kein Fehler " & " " &
Workbooks(ActiveWorkbook.Name).Worksheets(Bereich.Worksheet.Name).Cells(1,Bereich.Column). _
Value & ""
End If
End Sub
In Datei B befindet sich in der ersten zelle der Text D2X_ObjIDIch befürchte fast, das es sich hierbei um einen Bug in Excel handelt.