Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

unzulässiger oder nicht ausreichend definierter Ve

Forumthread: unzulässiger oder nicht ausreichend definierter Ve

unzulässiger oder nicht ausreichend definierter Ve
01.09.2003 15:46:07
Rolf
Nach Test habe ich folgenden Fehler:
Nach Selection.Copy:

Range(Cells(ActiveCell.Row, 2), Cells(ActiveCell.Row, 8)).Copy Destination:=.Cells(Loletzte + 1, 2)

Bei :=.Cells(.....)
erscheint unzulässiger oder nicht ausreichend definierter Verweis

Gruss Rolf

Sub Mitglieder_alle_Kanal_neu_kopieren()
' Mitglieder_alle_Kanal_neu_kopieren Makro
' Makro am 31.08.2003 von Rolf aufgezeichnet
Selection.Copy
'Hier kommt der Fehler
Range(Cells(ActiveCell.Row, 2), Cells(ActiveCell.Row, 8)).Copy
'An dieser Stelle möchte nur die Zelle(C3) markieren, weil dort der Name steht
'die gesamte Adresse steht aber in Zeile(B3:H3)
'dieser Teil funktioniert
With Sheets("Kanalscheine neu")
Dim Loletzte As Long
If Range("B145") = "" Then
Loletzte = .Range("B23").End(xlUp).Row
Selection.Copy Destination:=.Cells(Loletzte + 1, 2)
Else
MsgBox "keine Zelle mehr frei"
End If
End With
Sheets("Kanalscheine neu").Select
End Sub

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: unzulässiger oder nicht ausreichend definierter Ve
01.09.2003 15:59:03
K.Rola
Hallo,

With Sheets("Kanalscheine neu")
Dim Loletzte As Long
If .Range("B145") = "" Then
Loletzte = .Range("B23").End(xlUp).Row
Selection.Copy Destination:=.Cells(Loletzte + 1, 2)
Else
MsgBox "keine Zelle mehr frei"
End If
End With

Gruß K.Rola
Anzeige
AW: unzulässiger oder nicht ausreichend definierter Ve
01.09.2003 16:21:53
Martin Beck
Hallo Rolf,

wieso bleibst Du nicht im ursprünglichen Thread???

So müßte es gehen:


Sub Mitglieder_alle_Kanal_neu_kopieren()
Dim Loletzte As Long
With Sheets("Kanalscheine neu")
If Range("B145") = "" Then
Loletzte = .Range("B23").End(xlUp).Row
Range(Cells(ActiveCell.Row, 2), Cells(ActiveCell.Row, 8)).Copy Destination:=.Cells(Loletzte + 1, 2)
Else
MsgBox "keine Zelle mehr frei"
End If
End With
Sheets("Kanalscheine neu").Select
End Sub


Gruß
Martin Beck
Anzeige
AW: unzulässiger oder nicht ausreichend definierter Ve
01.09.2003 19:38:46
Rolf
Gruss Rolf an Martin Beck und Hajo Zi
Jetzt läuft es
Hab es sogar verstanden.
Eure Antwort war gut, schnell und vor allem, vollständig!
OT Info
02.09.2003 01:24:06
PeterW
Hallo Martin,

welchen "ursprünglichen" Thread meinst du? Dies ist (war?) inzwischen der vierte. :-(

Gruß
Peter
AW: Mehrfachthread
02.09.2003 10:28:23
Martin Beck
Hallo Peter,

ich meinte den hier: https://www.herber.de/forum/messages/302730.html

Wenn ich es richtig sehe, hast Du dort ja auch *meine* Lösung gepostet, also wieder mal unnötige Doppelarbeit. Manche Fragende kapieren es leider nie :-(

Gruß
Martin Beck
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Fehlerbehebung: Ungültiger oder unzureichend definierter Verweis in Excel VBA


Schritt-für-Schritt-Anleitung

Wenn du den Fehler „unzulässiger oder nicht ausreichend definierter Verweis“ in deinem Excel VBA Code erhältst, folge diesen Schritten:

  1. Überprüfe den Code: Stelle sicher, dass du die richtige Arbeitsmappe und das richtige Arbeitsblatt verwendest. In diesem Beispiel wird das Arbeitsblatt „Kanalscheine neu“ genutzt.

  2. Korrekte Verwendung von With: Achte darauf, dass der With-Block korrekt gesetzt ist. Der Code sollte wie folgt aussehen:

    Sub Mitglieder_alle_Kanal_neu_kopieren()
        Dim Loletzte As Long
        With Sheets("Kanalscheine neu")
            If .Range("B145") = "" Then
                Loletzte = .Range("B23").End(xlUp).Row
                Range(Cells(ActiveCell.Row, 2), Cells(ActiveCell.Row, 8)).Copy Destination:=.Cells(Loletzte + 1, 2)
            Else
                MsgBox "keine Zelle mehr frei"
            End If
        End With
        Sheets("Kanalscheine neu").Select
    End Sub
  3. Zielbereich anpassen: Vergewissere dich, dass der Zielbereich (Destination) korrekt definiert ist und dass du dich im richtigen Kontext befindest.


Häufige Fehler und Lösungen

  • Fehler: „unzulässiger oder nicht ausreichend definierter Verweis“

    • Lösung: Stelle sicher, dass der With-Block korrekt implementiert ist. Vermeide es, ohne Punkt direkt auf .Cells zuzugreifen, wenn du dich außerhalb des With-Blocks befindest.
  • Fehler: „keine Zelle mehr frei“

    • Lösung: Überprüfe, ob die Zelle B145 leer ist. Wenn nicht, kannst du den Bereich anpassen, in den du kopierst.

Alternative Methoden

Wenn du häufig mit Excel VBA arbeitest, könnten folgende Alternativen nützlich sein:

  • Verwendung von Offset: Anstatt Cells zu verwenden, kannst du den Offset-Befehl nutzen, um leichter auf benachbarte Zellen zuzugreifen.

    Cells(ActiveCell.Row, 2).Offset(1, 0).Copy Destination:=.Cells(Loletzte + 1, 2)
  • Direktes Einfügen von Werten: Anstatt zu kopieren, könntest du auch die Werte direkt zuweisen, um die Performance zu verbessern.


Praktische Beispiele

Hier ist ein Beispiel, das die oben genannten Punkte zusammenfasst:

Sub Mitglieder_alle_Kanal_neu_kopieren()
    Dim Loletzte As Long
    With Sheets("Kanalscheine neu")
        If .Range("B145") = "" Then
            Loletzte = .Range("B23").End(xlUp).Row
            Range(Cells(ActiveCell.Row, 2), Cells(ActiveCell.Row, 8)).Copy Destination:=.Cells(Loletzte + 1, 2)
        Else
            MsgBox "keine Zelle mehr frei"
        End If
    End With
    Sheets("Kanalscheine neu").Select
End Sub

In diesem Beispiel wird überprüft, ob die Zelle B145 leer ist, und dann erfolgt das Kopieren der Zellen, wenn Platz vorhanden ist.


Tipps für Profis

  • Nutze Option Explicit: Dies hilft dir, Variablen zu deklarieren und Fehler zu vermeiden.

  • Fehlerbehandlung einfügen: Verwende On Error Resume Next, um Fehler abzufangen und die Ausführung nicht zu unterbrechen.

  • Dokumentiere deinen Code: Kommentare helfen nicht nur dir, sondern auch anderen, die möglicherweise deinen Code lesen.


FAQ: Häufige Fragen

1. Was bedeutet „unzulässiger oder nicht ausreichend definierter Verweis“?
Dieser Fehler tritt auf, wenn ein Verweis auf ein Objekt oder eine Methode nicht korrekt definiert ist, oft aufgrund eines Kontextproblems.

2. Wie kann ich sicherstellen, dass mein Code funktioniert?
Überprüfe sorgfältig deine Referenzen, insbesondere innerhalb von With-Blöcken, und teste den Code schrittweise.

3. Wo finde ich mehr Informationen zu VBA?
Online-Ressourcen und Foren wie das Excel-Forum sind großartige Orte, um spezifische Fragen zu klären und Lösungen zu finden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige