Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
896to900
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
896to900
896to900
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

IsEmty(OldCell) mit Fehlermeldung

IsEmty(OldCell) mit Fehlermeldung
16.08.2007 13:01:48
Harald
Hallo,
Gestern bekam ich folgenden Code:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If IsEmpty(OldCell) Then
OldCell = Target
NewCell = Target
Else
OldCell = NewCell
NewCell = Target
End If
End Sub


In einem eigenen Modul habe ich folgenden Code:
Public OldCell As Range
Public NewCell As Range
Beim Zellenwechsel springt er sofort in den Else-Teil und gibt beim Ausführen von OldCell = NewCell folgende Fehlermeldung aus:
Laufzeitfehler 91: Objektvariable oder With-Blockvariable nicht festgelegt.
Was mache ich falsch?
m.f.g.
Harald

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: IsEmty(OldCell) mit Fehlermeldung
16.08.2007 13:05:00
c0bRa
Hio...
Erstens: Wo ist OldCell deklariert?
Zweitens: Die Funktion IsEmpty prüft nicht den Zellinhalt einer Zelle, sondern eine Varable, ob diese schon initialisiert ist.

IsEmpty-Funktion
Gibt einen Wert vom Typ Boolean zurück, der angibt, ob eine Variable initialisiert wurde.
Syntax
IsEmpty(Ausdruck)
Das erforderliche Argument Ausdruck ist ein Wert vom Typ Variant und enthält einen numerischen  _
Ausdruck oder einen Zeichenfolgenausdruck. Da mit der IsEmpty-Funktion jedoch geprüft wird, ob einzelne Variablen initialisiert worden sind, enthält das Argument Ausdruck in der Regel nur einen einzelnen Variablennamen.
Bemerkungen
IsEmpty gibt den Wert True zurück, wenn die Variable nicht initialisiert ist oder explizit auf  _
Empty gesetzt wurde, andernfalls wird False zurückgegeben. Die IsEmpty-Funktion gibt immer den Wert False zurück, wenn Ausdruck mehrere Variablen enthält. IsEmpty gibt nur für Variant-Werte sinnvolle Informationen zurück.


Rückmeldung nicht vergessen...
c0bRa
Perl ist die einzige Sprache, die vor und nach einer RSA-Verschlüsselung gleich aussieht.

Anzeige
AW: IsEmty(OldCell) mit Fehlermeldung
16.08.2007 13:29:06
Harald
Hallo,
OldCell und NewCell stehen - wie oben erwähnt - in einem eigenen Modul in dem Programm als globale Variablen.
m.f.g.
Harald

AW: IsEmty(OldCell) mit Fehlermeldung
16.08.2007 13:38:00
c0bRa
Deswegen geht die Funktion IsEmpty() immernoch nicht für Range-Variablen...
c0bRa

AW: IsEmty(OldCell) mit Fehlermeldung
16.08.2007 13:52:00
Harald
Die Fehlermeldung kommt aber, sobald die Zeile OldCll=NewCell abgearbeitet wird!

AW: IsEmty(OldCell) mit Fehlermeldung
16.08.2007 13:59:58
c0bRa
Also...
1.
IsEmpty(OldCell) ist immer falsch.
2.
Zelle A1 ist auch nicht Zelle B3... Deswegen bringt er dir da nen Fehler. Was willst du denn vergleichen von der Alten und der Neuen? Den Wert nehm ich mal an, dann scheu auch nicht .Value dahinterzuschreiben.
Code aus Microsoft Excel Objekt Tabelle1:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If OldCell.Value = "" Then
        OldCell.Value = Target.Value
        NewCell.Value = Target.Value
    Else
        OldCell.Value = NewCell.Value
        NewCell.Value = Target.Value
    End If
End Sub

Rückmeldung nicht vergessen...
c0bRa
Perl ist die einzige Sprache, die vor und nach einer RSA-Verschlüsselung gleich aussieht.

Anzeige
AW: IsEmty(OldCell) mit Fehlermeldung
16.08.2007 14:13:00
Harald
Hallo,
bei diesem Code bekomme ich die gleiche Fehlermeldung schon bei der If-Abfrage.
Zu meinem Problem: Ich möchte auf den Zellwechsel reagieren und brauche dabei die Zeile und Spalte der Zelle, die ich gerade verlasse!
Ich möchte also beim Verlassen einer Zelle prüfen, ob ich gerade in Spalte "E"war und ob in dieser Zeile die Spalten "A" bis"E" gefüllt sind. Dazu bekam ich gestern den oben erwähnten Code.
m.f.g.
Harald

AW: IsEmty(OldCell) mit Fehlermeldung
17.08.2007 10:43:00
c0bRa
Hio...
So sollte es gehen:
Code aus Microsoft Excel Objekt Tabelle1:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim l As Long
    Dim s As String
    s = ""
    If oldCell Is Nothing Then Set oldCell = Range("A1")
    If Not Intersect(oldCell, Columns(5)) Is Nothing Then
        l = oldCell.Row
        If Range("A" & l).Value = "" Then s = s & Range("A" & l).Address(False, False) & ", "
        If Range("B" & l).Value = "" Then s = s & Range("B" & l).Address(False, False) & ", "
        If Range("C" & l).Value = "" Then s = s & Range("C" & l).Address(False, False) & ", "
        If Range("D" & l).Value = "" Then s = s & Range("D" & l).Address(False, False) & ", "
        If Range("E" & l).Value = "" Then s = s & Range("E" & l).Address(False, False) & ", "
        If s <> "" Then
            MsgBox "Folgende Zellen sind nicht gefüllt:" & vbCrLf & Left(s, Len(s) - 2), _
                    vbOKOnly, "Leere Zellen"
        End If
    End If
    Set oldCell = Target
End Sub

Code aus Modul Modul1:
Option Explicit
Public oldCell As Range

Rückmeldung nicht vergessen...
c0bRa
Perl ist die einzige Sprache, die vor und nach einer RSA-Verschlüsselung gleich aussieht.

Anzeige
AW: IsEmty(OldCell) mit Fehlermeldung
17.08.2007 14:25:56
Harald
Hallo,
Vielen Dank für deine Hilfe!!!
m.f.g.
Harald

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige