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

Range Typen unverträglich

Range Typen unverträglich
11.01.2013 11:15:36
Nicole
Hallo,
ich übe mich noch an meinem Code des Werte-Vergleichs. Leider kenne ich meinen Fortschritt noch nicht, da ich nun an einem Punkt hänge, an dem ich einfach nicht weiter komme. Immer wenn der Code an die Stelle meines Ranges kommt, meldet er "Typen unverträglich" und ich kann nicht rausfinden, wieso :o((((
Kann mir vielleicht jemand einen Tip geben?
Den folgenden Code habe ich geschrieben:
Sub Neue_Werte()
Dim RISK As Worksheet
Dim MSC As Worksheet
Dim Zeile As Long
Dim RaRISK As String
Dim RaMSC As String
Dim MSCLetzte1 As Long
Dim RISKLetzte2 As Long
Set MSC = Workbooks("1.xls").Worksheets("1")
Set RISK = Workbooks("1.xls").Worksheets("2")
With MSC
MSCLetzte1 = IIf(IsEmpty(.Cells(Rows.Count, 1)), _
.Cells(Rows.Count, 1).End(xlUp).Row, .Rows.Count)
End With
With RISK
RISKLetzte2 = IIf(IsEmpty(.Cells(Rows.Count, 2)), _
.Cells(Rows.Count, 2).End(xlUp).Row, .Rows.Count)
End With
With MSC
Zeile = 9
End With
With RISK
RaRISK = "B17:B" & RISKLetzte2
End With
Do While Cells(Zeile, 1).Value  " "
If RISK.Range(RaRISK).Value = MSC.Cells(Zeile, 1).Value Then
RISK.Cells(Cells(Rows.Count, "B").End(xlUp).Row + 1, "B").Value = MSC.Cells(Zeile,  _
1)
End If
Zeile = Zeile + 1
Loop
End Sub

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
versuch statt "B" eine 2.... owT
11.01.2013 11:20:48
robert

AW: versuch statt "B" eine 2.... owT
11.01.2013 11:25:01
Nicole
Erstmal vielen Dank für die super schnelle Antwort.
Ich habs versucht, aber er meldet den Fehler immer bei dem folgenden Ausdruck: RISK.Range(RaRISK).Value
Oder meintest Du bei der Definition des Range?

AW: versuch statt "B" eine 2.... owT
11.01.2013 11:35:48
Nicole
Erstmal vielen Dank für die super schnelle Antwort.
Ich habs versucht, aber er meldet den Fehler immer bei dem folgenden Ausdruck: RISK.Range(RaRISK).Value
Oder meintest Du bei der Definition des Range?

AW: Range Typen unverträglich
11.01.2013 12:04:54
selli
hallo nicole,
versuche mal das: !!!nimm die ziffern aus deinen variablen!!! also statt RISKLetzte2 RISKLetzte
If RISK.Range(cells(17,2),cells(RISKLetzte,2)).Value = MSC.Cells(Zeile, 1).Value Then
RISK.Cells(Cells(Rows.Count, "B").End(xlUp).Row + 1, "B").Value = MSC.Cells(Zeile, _
1)
gruß
selli

Anzeige
AW: Range Typen unverträglich
11.01.2013 12:11:41
Rudi
Hallo,
hier
If RISK.Range(RaRISK).Value = MSC.Cells(Zeile, 1).Value Then
willst du eine einzelne Zelle mit einem Bereich vergleichen. Das kann nicht klappen.
Was hast du vor?
Testen ob MSC.Cells(Zeile, 1) inRISK.Range(RaRISK) vorkommt:
If IsNumber(Application.Match(MSC.Cells(Zeile, 1), RISK.Range(RaRISK), 0)) Then
Gruß
Rudi

AW: Range Typen unverträglich
11.01.2013 12:19:20
Nicole
Hallo zusammen,
ich habe mein Problem doch noch selbst gelöst bekommen und den Fehler gefunden :o) Selbst wenn man kurz vor dem Verzweifeln ist, sollte man doch noch nicht aufgeben :o)
Ich wollte verschiedene Werte aus Tabellenblatt 2 mit einer Liste auf Tabellenblatt 1 vergleichen und hatte vergessen, überhaupt einen Range zu definieren :o) Jetzt funktionierts wunderbar, aber trotzdem tausend Dank für die schnelle Hilfe.

Anzeige
AW: Range Typen unverträglich
11.01.2013 12:17:50
Rudi
versuchs so:
Sub Neue_Werte()
Dim RISK As Worksheet
Dim MSC As Worksheet
Dim Zeile As Long
Dim RaRISK As Range
Dim MSCLetzte1 As Long
Dim RISKLetzte2 As Long
Set MSC = Workbooks("1.xls").Worksheets("1")
Set RISK = Workbooks("1.xls").Worksheets("2")
With MSC
MSCLetzte1 = IIf(IsEmpty(.Cells(Rows.Count, 1)), _
.Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
End With
With RISK
RISKLetzte2 = IIf(IsEmpty(.Cells(Rows.Count, 2)), _
.Cells(Rows.Count, 2).End(xlUp).Row, Rows.Count)
End With
Zeile = 9
With RISK
Set RaRISK = .Range("B17:B" & RISKLetzte2)
End With
For Zeile = 9 To MSCLetzte1
If IsNumber(Application.Match(MSC.Cells(Zeile, 1), RaRISK, 0)) Then
RISK.Cells(Rows.Count, 2).End(xlUp).Offset(1) = MSC.Cells(Zeile, 1)
End If
Next
End Sub

Gruß
Rudi

Anzeige
AW: Range Typen unverträglich
11.01.2013 13:27:43
Nicole
Hallo,
nun sehe ich leider meine Antwort nicht mehr...also nochmal. Leider tut es doch noch nicht so wie ich will.
Ich habe zwei Listen auf zwei verschiedenen Arbeitsblättern und will nun Wert für Wert aus Liste MSC mit allen Werten aus Liste RISK abgleichen. Wenn ein Wert aus Liste MSC nicht in RISK enthalten ist, soll er an das Ende der Liste RISK geschrieben werden.
Keine Ahnung, ob das so jemals funktionieren kann mit meinem Code. Wenn ich Deinen ausprobiere, erhalte ich bei If IsNumber immer die Meldung Sub oder Function nicht definiert. Versteh ich nicht :o(
Danke und Gruss von der weiter verzweifelnden Nicole :o(

Anzeige
AW: Range Typen unverträglich
11.01.2013 13:29:32
Nicole
Hallo,
nun sehe ich leider meine Antwort nicht mehr...also nochmal. Leider tut es doch noch nicht so wie ich will.
Ich habe zwei Listen auf zwei verschiedenen Arbeitsblättern und will nun Wert für Wert aus Liste MSC mit allen Werten aus Liste RISK abgleichen. Wenn ein Wert aus Liste MSC nicht in RISK enthalten ist, soll er an das Ende der Liste RISK geschrieben werden.
Keine Ahnung, ob das so jemals funktionieren kann mit meinem Code. Wenn ich Deinen ausprobiere, erhalte ich bei If IsNumber immer die Meldung Sub oder Function nicht definiert. Versteh ich nicht :o(
Danke und Gruss von der weiter verzweifelnden Nicole :o(

Anzeige
AW: Range Typen unverträglich
11.01.2013 13:48:53
Rudi
Hallo,
    For Zeile = 9 To MSCLetzte1
If IsError(Application.Match(MSC.Cells(Zeile, 1), RaRISK, 0)) Then
RISK.Cells(Rows.Count, 2).End(xlUp).Offset(1) = MSC.Cells(Zeile, 1)
End If
Next

Gruß
Rudi

AW: Range Typen unverträglich
11.01.2013 13:57:16
Nicole
Hallo Rudi,
jetzt tuts endlich, was ich will :o) Vielen vielen vielen lieben Dank! Ich war mittlerweile bei wohl 5 oder sechs Schleifen und kurz vor dem Verzweifeln....aber jetzt wieder glücklich :o)
Viele Grüsse,
Nicole

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige