944 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo Zusammen,

ich habe einen recht einfachen Code geschrieben. Dieser ist hinterlegt bei verschiedenen Formularschaltflächen in einer Arbeitsmappe. Die Mappe besteht aus insg. 4 Blättern. 3 Mit verschiedenen Buttons, eine vierte als Liste, um die Daten auszuwerten und als MsgBox zurück zu geben.

Nun habe ich folgendes Problem, an dem ich wirklich verzweifle:

Auf Tabellenblatt 1 in allen Boxen funktioniert das Makro ohne Probleme, auch so auf Blatt 2. In Blatt 3 allerdings kommt die Fehlermeldung "Typen unverträglich" obwohl der Code nur von den anderen Blättern kopiert und der Suchbegriff angepasst wurde. Dies aber auch nicht immer. Manchmal funktioniert es auch.....

Ich habe die Codes verglichen, bis auf den Suchbegriff sind diese identisch und sollten gehen (meiner Meinung nach).

Hat wer eine Idee wie ich das Problem lösen kann?

Der Code lautet:

Private Sub E310_Click()
Dim p(1 To 4) As String
Dim o(1 To 4) As String
Dim i(1 To 4) As String
Dim Treffer As Range

Set Treffer = Sheets("Listen").UsedRange.Find(What:="E310", After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Offset(0, 1)

p(1) = Treffer.Offset(0, 0).Value
p(2) = Treffer.Offset(0, 1).Value
p(3) = Treffer.Offset(0, 2).Value
p(4) = Treffer.Offset(0, 3).Value
o(1) = Treffer.Offset(1, 0).Value
o(2) = Treffer.Offset(1, 1).Value
o(3) = Treffer.Offset(1, 2).Value
o(4) = Treffer.Offset(1, 3).Value
i(1) = Treffer.Offset(2, 0).Value
i(2) = Treffer.Offset(2, 1).Value
i(3) = Treffer.Offset(2, 2).Value
i(4) = Treffer.Offset(2, 3).Value
MsgBox (Join(p) & vbNewLine & Join(o) & vbNewLine & Join(i))
End Sub

Excel Version 2010 auf Win 7

Viele Grüße

Beni

2 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Beni,

ich hätte After:=ActiveCell gelöscht, vielleicht ist keine Zelle aktiv?

Gruß Hajo
0 Punkte
Beantwortet von
Hallo Hajo,

hab Deinen Vorschlag ausprobiert und bisher funktioniert alles....

Verwirrend aber gut und einfach ;-)

Danke!
...