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

Fehlermeldung

Fehlermeldung
07.04.2017 08:48:12
Dancer
Hallo Foren-Gemeinde,
ich habe ein Problem mit einer Range-Ansprache. Der folgende Code-Schnipsel läuft auf den Fehler "Laufzeitfehler '1004': Die Methode 'Range' für das Objekt '_Worksheet' ist fehlgeschlagen" :
For Each rngEinheit In wksTwo.Range(Cells(intFirstRow + 1, 2), Cells(intLastRow2, 2))

Dabei ist rngEinheit als 'Range' definiert und wksTwo als 'Worksheet'. Außerdem ist wksTwo folgendes zugewiesen worden :
Set wksTwo = ThisWorkbook.Worksheets(strStärke)

Ändere ich den obigen Code-Schnipsel auf
For Each rngEinheit In wksTwo.Range("B8:B12")

so läuft er problemlos weiter.
Desweiteren habe ich ein Problem mit einem Vergleich. Bei
If rngEinheit.Value = rngTarget.Value Then

bekomme ich den Fehler "Laufzeitfehler '13': Typen unverträglich", obwohl auch rngTarget als Parameter mit 'Range' definiert wurde. Beim Debuggen ist mir außerdem aufgefallen, dass rngEinheit nur 1 Wert beinhaltet, während rngTarget als Matrix mit rngTarget(1,1) und rngTarget(1,2) angezeigt wird - wobei rngTarget(1,1) den gesuchten Wert enthält.
Ich bin momentan etwas ratlos und hoffe, Ihr könnt mir helfen.
Mit freundlichen Grüßen,
Dancer

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehlermeldung
07.04.2017 08:51:10
Werner
Hallo,
schau mal zwei Beiträge unter diesem hier.
Gruß Werner
AW: Fehlermeldung
07.04.2017 09:11:24
Dancer
Danke Werner, so funktioniert es.
Allerdings habe ich jetzt immer noch das Problem mit den unverträglichen Typen. Wie kann ich rngTarget dazu bringen, den gleichen Typen wie rngEinheit zu haben ? Und warum wird rngTarget.Value als Matrix angezeigt, während rngEinheit.Value offensichtlich nur einen Wert beinhaltet ?
Ein etwas ratloser Dancer...
AW: Fehlermeldung
07.04.2017 09:25:47
Werner
Hallo,
zeig mal den ganzen Code.
Gruß Werner
AW: Fehlermeldung
07.04.2017 09:39:24
Dancer

Private Sub Worksheet_SelectionChange(ByVal rngTarget As Range)
Dim intI As Integer
Dim rngEinheit As Range
Dim wksOne As Worksheet, wksTwo As Worksheet
Set wksOne = ThisWorkbook.Worksheets(strNeu)           ' Arbeitsblatt "neue Einheiten"
Set wksTwo = ThisWorkbook.Worksheets(strStärke)        ' Arbeitsblatt "Stärkemeldung"
wksOne.Unprotect                                       ' Blattschutz aufheben
intLastRow = wksOne.Cells(Rows.Count, 1).End(xlUp).Row      ' letzte beschriebene Zeile  _
feststellen
intLastRow2 = wksTwo.Cells(Rows.Count, 1).End(xlUp).Row     ' letzte beschriebene Zeile  _
feststellen
If Not Intersect(rngTarget, Range(Cells(intFirstRow - 1, intSpalteID), _
Cells(intLastRow, intLastWrittenColumn))) Is Nothing Then ' Klick im zulässigen Bereich
Select Case rngTarget.Column                             ' gewählte Spalte
Case intSpalteFunkruf                                ' Funkrufname
With wksTwo
For Each rngEinheit In .Range(.Cells(intFirstRow + 1, 2), .Cells( _
intLastRow2, 2))
If rngEinheit.Value = rngTarget.Value Then ' Funkrufname ist vorhanden
Else
End If
Next rngEinheit
End With
Case Else
End Select
Else
End If
End Sub

Anzeige
AW: Fehlermeldung
07.04.2017 09:54:33
Dancer
Als Ergänzung - wenn ich die beiden Variablen debugge, bekomme ich folgende Ausgabe:
Ausdruck                   Wert                      Typ
rngEinheit.Value           "Florian xxx"             Variant/String
rngTarget.Value                                      Variant/Variant(1 to 1, 1 to 2)
rngTarget.Value(1)                                 Variant(1 to 2)
rngTarget.Value(1,1)   "Heros yyy"               Variant/String
rngTarget.Value(1,2)   Leer                      Variant/Empty

Traumtänzer: Verbundene Zellen = Matrix (owT)
07.04.2017 10:01:02
EtoPHG

AW: Traumtänzer: Verbundene Zellen = Matrix (owT)
07.04.2017 10:05:46
Dancer
Ja, danke. Habe den Code jetzt abgeändert auf
If rngEinheit.Value = rngTarget(1, 1).Value Then

und nun funktioniert es.
Danke nochmal an alle,
Dancer
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige