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

Eigenschaft/ Methode nicht unterstützt

Eigenschaft/ Methode nicht unterstützt
27.02.2023 15:43:57
Christian
Hallo, ich habe ein kleines aber feines selbstgeschriebenes Makro, ich weiß ich bin kein VBA Künstler.
Und ich verstehe nicht, weshalb es mir sagt dass eine Eigenschaft oder eine Methode nicht unterstützt würde. Schaut ihr bitte mal?
Ich will eigentlich nur den Inhalt von A:E in den Bereich G:K kopieren ohne Überschriften und in Spalte L eine Formel einfügen also eigentlich nix wildes.
Hintergedanke ist, zu Beginn steht eine PQ Abfrage. von der will ich eine Sicherungskopie in G:K machen, um dann mit der Formel zu vergleichen ob sich durchs Ausführen was ändert.
Danke
Christian
Sub Leute()
        
        With Worksheets("Leute")
        letzteL = .Cells(Rows.Count, 1).End(xlUp).Row
        End With
        
        With Worksheets("Leute").Range("A2:E" & letzteL)
       .Copy
       End With
       
       With Worksheets("Leute").Range("G2:K" & letzteL)
       .Paste
       End With
       
       With Worksheets("Leute").Range("L2:L" & letzteL)
       .FormulaLocal = "=K2=XVERWEIS(H2;B:B;E:E;"""";0;1)"
       End With
End Sub

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eigenschaft/ Methode nicht unterstützt
27.02.2023 15:59:25
Rudi
Hallo,
versuchs mal so:
Sub Leute()
  
  With Worksheets("Leute")
    letzteL = .Cells(Rows.Count, 1).End(xlUp).Row
    .Range("A2:E" & letzteL).Copy .Range("G2")
    .Range("L2:L" & letzteL).FormulaLocal = "=K2=XVERWEIS(H2;B:B;E:E;"""";0;1)"
  End With
  
End Sub
Gruß
Rudi
AW: Eigenschaft/ Methode nicht unterstützt
27.02.2023 15:59:38
GerdL
Na denn, Christian!
With Worksheets("Leute").Range("G2:K" & letzteL)
       .PasteSpecial xlPasteValues
End With
Applicaton.Cutcopymode = False
Gruß Gerd
AW: Eigenschaft/ Methode nicht unterstützt
27.02.2023 16:00:12
ChrisL
Hi
Ein Range.Paste gibt es nicht. Entweder ein ActiveSheet.Paste mit Angabe vom Zielort (Destination) oder die Destination direkt in den Copy-Befehl integrieren:
Sub Leute()
Dim letzteL As Long
        
With Worksheets("Leute")
    letzteL = .Cells(Rows.Count, 1).End(xlUp).Row
    .Range("A2:E" & letzteL).Copy .Range("G2")
    .Range("L2:L" & letzteL).FormulaLocal = "=K2=XVERWEIS(H2;B:B;E:E;"""";0;1)"
End With
End Sub
cu
Chris
Anzeige
AW: Eigenschaft/ Methode nicht unterstützt
27.02.2023 16:00:21
onur
1) WO GENAU kommt der Fehler ?
2) Hier fehklt ein Punkt vor "Rows"
.Cells(Rows.Count, 1).End(xlUp).Row

AW: Eigenschaft/ Methode nicht unterstützt
27.02.2023 19:52:31
Friederich
Ihr Seid so toll. Ich verstehe noch nicht alles aber ich komme voran. Danke euch allen
Und weil es so toll ich, vielleicht findet ihr noch den Fehler raus:
Warum kopiert er nicht die erste Zeile in der Tabelle_BÜTool mit? Hatte es geschafft und jetzt funktioniert es wieder nicht. Ich verzweifle....
Danke für eure Antworten.
Sub Schaltfläche1_Klicken()
Dim lngZeile As Long
Dim lngZeileMax As Long
Dim lngZ As Long
Tabelle1.UsedRange.Clear
With Tabelle_BÜTool
    Set rngBereich = .Rows(1)
    lngZeileMax = .Cells(.Rows.Count, 1).End(xlUp).Row
    For lngZeile = 1 To lngZeileMax
If .Cells(lngZeile, 3).Value = "" And .Cells(lngZeile, 4).Value = "Falsch" And .Cells(lngZeile, 5).Value = "Falsch" Then
Set rngBereich = Union(rngBereich, .Rows(lngZeile))
End If
Next lngZeile
rngBereich.Copy Destination:=Tabelle1.Range("A1")
End With
End Sub

Anzeige
AW: Eigenschaft/ Methode nicht unterstützt
27.02.2023 19:54:21
onur
Poste mal eine Beispielsdatei.
AW: Eigenschaft/ Methode nicht unterstützt
27.02.2023 21:18:22
Christian
Hallo Friedrich,
sei mir bitte nicht böse, aber kann es sein, dass dein Beitrag fälschlicherweise als Antwort auf meinen Beitrag im Forum gepostet wurde? Ich sehe jetzt im Moment keinen Zusammenhang zwischen deiner und meiner Frage.
Viele Grüße
Christian
AW: Eigenschaft/ Methode nicht unterstützt
27.02.2023 16:26:58
Christian
Hallo,
danke für eure schnelle Antwort,
ich fange mal mit Onur an, ich sehe da keinen fehlenden Punkt, nicht mal in deinem geposteten Code steht ein Punkt, der nicht in meinem Code steht. Außerdem hab ich noch mehr Makros in denen ich die letzte Zeile ermittele, nirgendwo sonst gibts einen Fehler. Ich kann also leider das was du da schreibst, nicht nachvollziehen.
Zu Rudi und Chris,
Eure Vorschläge funktionieren (und enthalten ebenso keinen zusätzlichen Punkt). Habe das ganze jetzt noch versucht, mit Gerds Vorschlag zu verbinden und die Werte einzufügen und bin dann hierbei gelandet:
Sub Leute()
  
  With Worksheets("Leute")
    letzteL = .Cells(Rows.Count, 1).End(xlUp).Row
    .Range("A2:E" & letzteL).Copy .Range("G2")
    .Range("L2:L" & letzteL).FormulaLocal = "=K2=XVERWEIS(H2;B:B;E:E;"""";0;1)"
    .Range("L2:L" & letzteL).Copy
    .Range("L2:L" & letzteL).PasteSpecial Paste:=xlPasteValues
    '.Range("L2:L" & letzteL).Formula = .Value
  End With
  
End Sub
So hat es funktioniert. Mein erster Versuch mit der ausgeblendeten Zeile hat wieder zu der bekannten FM geführt.
Gruß und danke
Christian
Anzeige
AW: Eigenschaft/ Methode nicht unterstützt
27.02.2023 16:31:57
onur
Was ist denn dadran so schwer zu verstehen, wenn ich dir schreibe, dass bei dem geposteten Befehl VOR dem "Row" ein Punkt fehlt?
Hätte ich den Punkt auch noch posten sollen ? Dann würde er ja nicht fehlen.
Dann eben so:
Vor dem Rows FEHLTE ein Punkt
letzteL = .Cells(.Rows.Count, 1).End(xlUp).Row

AW: Eigenschaft/ Methode nicht unterstützt
27.02.2023 16:39:57
Christian
Das habe ich schon verstanden, nur was ich nicht verstehe ist, weshalb es sowohl in meinen anderen Makros, als auch in den weiteren Vorschlägen dieses Makros ohne Punkt klappt. Daher meine Verwirrung.
AW: Eigenschaft/ Methode nicht unterstützt
27.02.2023 16:53:50
ChrisL
Hi Christian
Wenn du Rows nicht referenzierst, dann bezieht es sich auf das aktuelle Blatt. Weil alle Tabellenblätter gleich viele Zeilen haben, spielt es oft keine Rolle. Ein Argument, welches mich überzeugt hat die Referenzierung zu machen (in deinem Fall habe ich es übersehen, sonst hätte ich den Punkt ergänzt) ist folgende Eventualität:
Wenn das aktive Blatt zufällig mal kein Tabellenblatt ist, sondern ein Diagramm-Blatt, dann läuft der Code auf einen Fehler. Der Fehler käme dann ziemlich unerwartet "hat immer funktioniert und ich habe nichts geändert", weshalb es definitiv besser ist, das kleine Pünktchen konsequent zu machen.
cu
Chris
Anzeige
AW: Eigenschaft/ Methode nicht unterstützt
27.02.2023 16:59:15
onur
Weil du offensichtlich letzte Zeile eines Blattes suchst, das NICHT das aktuelle Blatt ist (sonst hättest du ja kein "With" benutzen brauchen).
Bei
.Cells(.Rows.Count, 1).End(xlUp).Row
wird ohne Punkt Cells zwar von Blatt "Leute" genommen, aber Rows vom aktuellen Blatt. Solange du Blattnamen nicht angibst, beziehen sich alle Befehle wie "Range", "Row" , "Rows" , "Cells" usw auf das aktive Blatt. Wenn zufällig "Leute" das aktive Blatt ist, läuft die Zeile einwandfrei, aber dann kannst du das "With" ebenso gut auch weglassen.
@ChrisL/ Onur: Rows.Count
27.02.2023 17:49:29
Rudi
Hallo,
ihr liegt beide falsch.
Wenn Rows nicht explizit auf ein Blatt referenziert wird, wird Application.Rows zurückgegeben und nicht Worksheet.Rows. Das läuft dann auf einen Fehler, wenn die aktive Mappe eine 'alte' .XLS mit nur 65536 Zeilen ist.
Gruß
Rudi
Anzeige
AW: @ChrisL/ Onur: Rows.Count
27.02.2023 17:54:30
onur
Das würde aber auch nix ändern - ausserdem hat er Excel 2022:
Microsoft:
Application.Rows-Eigenschaft (Excel)
Artikel
18.02.2023
2 Minuten Lesedauer
Gibt ein Range-Objekt zurück, das alle Zeilen im aktiven Arbeitsblatt darstellt. Wenn das aktive Dokument kein Arbeitsblatt darstellt, verursacht die Rows -Eigenschaft einen Fehler. Schreibgeschütztes Range-Objekt.
AW: @ChrisL/ Onur: Rows.Count
27.02.2023 17:55:22
Christian
egal, wer jetzt recht hat. Ich ergänze dann jetzt überall den Punkt.
Danke für den Hinweis und onur sorry nochmal für meine doch etwas unfreundliche erste Reaktion auf deinen Beitrag. Tut mir leid.
Christian
Anzeige
Gerne !
27.02.2023 17:56:31
onur
Kein Problem.
AW: @ChrisL/ Onur: Rows.Count
28.02.2023 08:40:44
ChrisL
Hi Rudi
Danke für den Input.
Fehler ist Fehler, daher würde ich die Referenzierung weiterhin empfehlen. Aber interessant ist deine Aussage trotzdem.
Mit XL365:
MsgBox Rows.Parent.Name
Die Code-Zeile auf ein Diagramm-Blatt angewendet ergibt Fehler 1004. Dasselbe auf einem Tabellenblatt verwendet, ergibt den Tabellennamen zurück. Also auch ohne explizite Referenzierung wäre das übergeordnete Objekt die Tabelle und nicht die Applikation.
Vielleicht habe ich den Kern deiner Aussage falsch verstanden, aber deiner Info zufolge hätte ich ein anderes Resultat erwartet.
cu
Chris
Anzeige
aber bin dann noch auf was gestoßen
27.02.2023 18:01:36
Christian
ein anderer Teil eines meiner Makros

If Application.WorksheetFunction.CountIf(Worksheets("Liste").Range("A2:A" & lLastRow), Target.Value) > 0 And Target.Value > Range("A" & lLastRow).Value Then
            lRowFind = Application.Match(Target.Value, Range("A2:A" & lLastRow), 0) + 1
            Rows(Target.Row).EntireRow.Delete
            Cells(lRowFind, "A").Select
         End If
Ist es richtig / sinnvoll, dass da vor Rows und Cells kein Punkt steht oder sollte ich da dann auch einen hintun?
AW: aber bin dann noch auf was gestoßen
27.02.2023 18:04:13
onur
Macht nur Sinn, wenn du dich innerhalb einer "With"-Klammer befindest. Wenn nicht, musst du das Blatt mit angeben, wenn du nicht das aktive Blatt meinst.
Anzeige
AW: aber bin dann noch auf was gestoßen
27.02.2023 18:09:28
Christian
Ist keine With Klammer nein, und das Makro befindet sich direkt im Blatt Liste, gibt ja keinen Verweis auf andere Blätter im Makro. Es geht in diesem Fall um ein Makro dass auf einen Worksheet Change im Blatt Liste reagiert, es geht also um das aktive Blatt, in dem gerade eine Änderung stattgefunden hat.
Also wenn ich es richtig verstehe kann ich es so lassen.
AW: aber bin dann noch auf was gestoßen
27.02.2023 18:14:26
onur
Genau. Wenn der Code sich auf das Blatt bezieht, in dessen Modul er sich befindet oder (falls in einem allg. Modul oder Workbookmodul) das sowieso aktiv ist , brauchst du auch nicht das Blatt extra angeben.
AW: aber bin dann noch auf was gestoßen
27.02.2023 21:15:57
Christian
danke für die Erklärung
Anzeige
AW: aber bin dann noch auf was gestoßen
27.02.2023 18:25:47
onur
Ist so ähnlich wie die Vorwahl - wenn du in Köln bist und aus dem Festnetz eine kölner Nummer anrufen willst, brauchst du ja auch keine Vorwahl.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige