Anzeige
Archiv - Navigation
1616to1620
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

Fehler:"Variable nicht definiert"

Fehler:"Variable nicht definiert"
11.04.2018 13:47:39
Idence
Hallo Leute,
wenn auf den OK-Button meiner UserForm geklickt wird, dann soll der Inhalt aus dem Textfeld "Eingabe" in eine Zelle reingeschrieben werden. Die Reihe der Zelle ist definiert über den Mausklick des Users, die Spalte definiere ich.
Private Sub OKButton_Click()
Dim z As String                                  'z = Zeile der aktiven Zelle
z = ActiveCell.row
Cells(z, 4) = Cells(z, 4) & vbCrLf & Eingabe.Value
Unload Me
End Sub
Doch leider läuft das Programm nicht, weil angeblich die Variable "z" nicht definiert wurde. Hat jemand eine Idee, woran dies liegen könnte?
Gruß
Idence

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Dim z As Long und verwende Option Explicit...owT
11.04.2018 13:51:47
Peter(silie)

AW: Fehler:"Variable nicht definiert"
11.04.2018 13:56:02
ChrisL
Hi
Zeilennummern würde ich als Datentyp "Long" (=Ganzzahl) und nicht als "String" (=Text) deklarieren.
Mein Excel 2016 ist jedoch so tolerant, dass es auch mit String funktioniert.
Komisch ist, dass ".row" nicht automatisch in ".Row" geändert wurde.
Lade mal die Beispieldatei.
cu
Chris
AW: Fehler:"Variable nicht definiert"
11.04.2018 14:23:26
Idence
Hallo Peter und Chris,
danke für eure schnellen Antworten.
Ich habe den Typ zu "Long" geändert, das Option Explicit ist schon dabei, habe ich hier nur der Übersicht halber weggelassen.
Der komplette Sub schaut so aus:
Private Sub OKButton_Click()
Dim z As Long                                                     'z = Zeile der aktiven Zelle
z = ActiveCell.row
Cells(z, 4) = Cells(z, 4) & vbCrLf & Eingabe.Value
'ActiveCell.Value = ActiveCell.Value & vbCrLf & Eingabe.Value     'Text aus Textfeld " _
Eingabe" wird in aktive Zelle eingefügt
ActiveCell.Offset(0, 6).Activate
ActiveCell.Value = Termin.Value
ActiveCell.Offset(0, -6).Activate
Unload Me
End Sub

Leider kommt immer noch die Gleiche Fehlermeldung: "Variable nicht definiert"
Anm.: Die auskommentierte Zeile funktioniert zwar, aber ich möchte die Aufgabe so lösen, wie ich es gerade versuche. Sie bietet mir "größere Freiheit".
Die Datei würde ich gerne hochladen, darf ich aber aus Datenschutzgründen nicht.
Gruß
Idence
Anzeige
AW: Fehler:"Variable nicht definiert"
11.04.2018 14:47:53
JoWE
Hallo Idence,
Du hat aber nicht zufällig eine Ereignisprozedur in der aktiven Tabelle, die für Dein Vorhaben evtl. kontraproduktiv sein könnte?
Was passiert wenn Du das Makro schrittweise (F8) ausführst, welchen Wert erhält z dann?
Gruß
Jochen
AW: Fehler:"Variable nicht definiert"
11.04.2018 15:02:36
Idence
Hallo Jochen,
in der aktiven Tabelle befindet sich von dem oben geposteten abgesehen nur noch die Anweisung "Unload Me" für den Cancel-Button der UserForm und "Option Explicit". Dies ist vermutlich nicht die Ursache für den Fehler.
Bisher wurde die Fehlerursache an anderen Stellen vermutet. Verstehe ich es richtig, dass meine Syntax also stimmt?
Wenn ich den Cursor in die erste Zeile setze und auf F8 klicke, öffnet sich direkt die UserForm. Wenn ich anschließend eine Eingabe in das Textfeld tätige, und mit "OK" bestätige kommt die bekannte Fehlermeldung.
Gruß
Idence
Anzeige
AW: Fehler:"Variable nicht definiert"
11.04.2018 15:36:14
JoWE
Bei meinem Nachbau (der muss ja nicht unbedingt wie Deine UF sein) funktioniert Dein Code ohne Fehler!
... welchen Wert erhält z denn nun im Einzelschrittdurchlauf?
... und die TextBox 'Eingabe' existiert und heißt auch so?
Gruß
Jochen
AW: Fehler:"Variable nicht definiert"
11.04.2018 16:06:41
Idence
Ja, die TextBox existiert und heißt auch so.
Wie kann ich nachsehen, welchen Wert z hat? Als ich auf F8 geklickt habe, hat sich direkt die UserForm geöffnet. (Kenne mich in VBA noch nicht so gut aus.)
Gruß
Idence
AW: Fehler:"Variable nicht definiert"
11.04.2018 19:04:47
JoWE
baue ein Stop ein:
z = ActiveCell.row
stop
Cells(z, 4) = Cells(z, 4) & vbCrLf & Eingabe.Value

dann bleibt der Code nach dem Klick auf den Button an dieser Stelle stehen
und Du kannst den Wert von z im Direktfenster abfragen mit ? z
Gruß
Jochen
Anzeige
AW: Fehler:"Variable nicht definiert"
12.04.2018 12:21:17
Idence
Ich habe versucht, deine Beschreibung umzusetzen, jedoch wird mir der Wert der Variablen nicht angezeigt.
Es kann tatsächlich sein, dass, wie Chris schon vermutet hat, mein Office defekt ist, seit einiger Zeit stürzt
es auch regelmäßig ohne Grund ab.
Glücklicherweise habe ich aber eine viel bessere, kürzere Methode gefunden, um mein Vorhaben umzusetzen.
Vielen dank an alle.
Gruß
Idence
AW: Fehler:"Variable nicht definiert"
11.04.2018 14:56:43
Daniel
Hi
du kannst im Prinzip alles Inhalte aus der Datei rauslöschen, die werden für das Problem nicht benötigt.
normalerweise müsste dein Code funktionieren, aber irgendwas ist seltsam, denn wie schon bemerkt wurde, müsste in z = ActiveCell.row das "r" eigentlich automatisch in einen Großbuchstaben gewandelt werden.
Funktioniert es denn, wenn du statt dem z = ActiveCell.Row zum Testen einfach eine Zahl zuweist: z = 15
es gäbe noch eine Variablenfreie Lösung für dein Aufgabe, bei gleiche Flexibilität:
ActiveCell.Offset(0, 4 - ActiveCell.Column) = ActiveCell.Offset(0, 4 - ActiveCell.Column) & vbCrLf & Eingabe.Value

mit der WITH-Klammer kann man sich dann noch die Schreibarbeit sparen, das Objekt, welches in der WITH-Klammer definiert ist, wird in der Folge durch einen Punkt ersetzt.
With ActiveCell
With .Offset(0, 4 - .Column)
.Value = .Value & vbCrLf & Eingabe.Value
end with
end with

Gruß Daniel
Anzeige
AW: Fehler:"Variable nicht definiert"
11.04.2018 15:40:39
ChrisL
Hi
Die Daten interessieren nicht, nur die Datei.
Ich vermute die Datei oder der dein Office ist korrumpiert (eben wegen diesem klein geschriebenen "row").
Teste den Code in einer neuen Datei.
Teste die Datei auf einem anderen PC.
cu
Chris
AW: Fehler:"Variable nicht definiert"
11.04.2018 16:04:09
Idence
Hallo,
anbei ist meine Datei.Ich habe den Inhalt und das Äußere stark geändert, um eine Hinrichtung zu vermeiden.
Aber nun zur Sache:
Wenn Ihr auf die Tabelle "LOP" klickt und Rechtsklick auf eine Zelle der Spalte "Thema" klickt, öffnet sich die betreffende UserForm.
Dies ist meine erste Datei, die ich mit VBA erstellt habe. Darum wird wohl alles etwas chaotisch wirken. Dafür möchte ich mich im voraus entschuldigen.
Es kann tatsächlich sein, dass die Datei selber einen Fehler aufweist. Seit gestern stürzt Excel mehrmals am Tag ab.
Gruß
Idence
https://www.herber.de/bbs/user/121010.xlsm
Anzeige
AW: Fehler:"Variable nicht definiert"
11.04.2018 16:09:51
ChrisL
Hi
Mit Excel 2016 läuft der Code. Aufgrund deiner Abstürze würde ich daher auf ein defektes Office tippen (Updaten und Reparatur laufen lassen). Um ganz sicher zu gehen, müsste jemand mit deiner Version testen.
cu
Chris
AW: Fehler:"Variable nicht definiert"
11.04.2018 16:17:36
Idence
Hi Daniel,
vielen Dank für deine Hilfe. Deiner Vermutung werde ich nachgehen.
Gruß
Idence

34 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige