Office: Variable nicht definiert! Warum?

Helfe beim Thema Variable nicht definiert! Warum? in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Excel Profis; Ich bräuchte wieder Mal eure Hilfe. Ich bin ein Anfänger in Excel-VBA. Meine nachfolgenden Codes sind offensichtlich nicht... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von laurenz.noto, 27. Februar 2015.

  1. Variable nicht definiert! Warum?


    Hallo Excel Profis;

    Ich bräuchte wieder Mal eure Hilfe. Ich bin ein Anfänger in Excel-VBA. Meine nachfolgenden Codes sind offensichtlich nicht lauffähig. Ich habe vor, mit Hilfe einer Schaltfläche erstellt in Tabellenblatt genannt „LogForm“ die Makros „Worksheet_Activate“ und danach „Letzte_Zeile_und_Dateneingabe“ nacheinander laufen lassen, um 3 Datenwerte in Spalte 1 bis 3 der leeren Zeile nach der letzten belegten Zeile der Spalte A zu befüllen. Diese Zellen befinden sich in einem anderen Tabellenblatt, das je nach Inhalt der Zelle T1 im Blatt “LogForm“ angewählt werden. Die Tabellenblätter werden daher je nach Variable in T1 angewählt. Nach der Dateneingabe soll eine Meldung ausgegeben werden und excel soll eine Speicherung vornehmen und schließlich wieder zu Tabellenblatt „LogForm“ zurückkehren.

    Bei der Testung des einzelnen Makro, scheint das Makro „Worksheet_Activate“ zu funktionieren. Zumindest hat Excel nicht moniert und das gesuchte Tabellenblatt wurde richtig angewählt.

    Problem tritt bei der Testung des Makro „Letzte_Zeile_und_Dateneingabe“ bereits beim Kompilieren des Codes auf. Excel meldet Fehler „Variable nicht definiert“ und markiert die Codezeile „Public Sub Letzte_Zeile_und_Dateneingabe“ gelb an und mit gelbem Pfeil vor der Zeile. Zudem wurde (x1Up) blau markiert. Makro wurde dort angehalten, so daß die Ermittlung der Letztezeile und schon gar nicht die Eintragung der Daten durchgeführt wurde.

    Was habe ich hier falsch gemacht? Ich habe die „letztezeile“ doch bereit als Typ Long definiert. Die Makros habe ich alle in Allgemeine Modul1 gespeichert. Ich habe auch versucht die Makros in dieser Arbeitsmappe oder in Worksheet zu speichern. Das Resultat ist identisch. Es läuft nicht.

    Die Dateneingaben und die Testung des Makro CommandButton1_Click konnte ich nicht mehr vornehmen, weil das Makro bereit bei dem Kompilieren angehalten wurde.

    Ich hoffe Ihr werdet mir helfen und erklären, was ich falsch gemacht habe und was ich hätte tun müssen, damit ich von euch etwas lernen kann. Die Codes sollen Excel 2003 kompatibel sein.

    Ich danke euch herzlich
    Laurenz*Smilie

    Hier meine Codes:

    Option Explicit


    Public Sub Worksheet_Activate()
    Dim Variable As String
    Variable = ThisWorkbook.Worksheets("LogForm").Cells(1, 20).Value
    'Variable wird von T1 vom Blatt LogForm eingelesen
    Sheets(Variable).Select
    End Sub


    Public Sub Letzte_Zeile_und_Dateneingabe()
    Dim letztezeile As Long
    'Hier wird die letzte Zeile der Spalte A ermittelt
    'In der neuen leeren Zeile werden Daten in Spalte 1, Spalte 2 und Spalte 3 eingefügt
    letztezeile = ActiveSheet.Cells(Rows.Count, 1).End(x1Up).Row
    ActiveCell.Offset(1, 0).Value = Date
    ActiveCell.Offset(0, 1).Value = Time
    ActiveCell.Offset(0, 2).Value = "Kommen"
    End Sub


    Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    Call Worksheet_Activate
    Call Letzte_Zeile_und_Dateneingabe
    Application.ScreenUpdating = True
    MsgBox ("Ihre Daten wurden bearbeitet!")
    ActiveWorkbook.Save
    Worksheets("LogForm").Select
    End Sub



    Ich habe doch noch eine weitere Frage. Muss ich das Tabellenblatt(Variable) wieder deselektieren oder deaktivieren mit Worksheets(Variable).deselect oder Worksheets(Variable).deactivate bevor ich das Worksheet(„LogForm“) erneut selektiere, damit Excel dort wieder zurück kehrt ohne die bearbeitete Blätter weiter geöffnet oder aktiv zu belassen?

    Danke!*Smilie

    :)
     
    laurenz.noto, 27. Februar 2015
    #1
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    wenn ich xlUp schreibe kommt kein Fehler beim Debuggen.
     
    Hajo_Zi, 1. März 2015
    #2
  3. Hallo
    Da hat sich ein Schreibfehler eingeschlichen:
    Es muss aber xlUp heissen. Du hasst eine 1 an Stelle eines l verwendet.

    Gruss,

    Tinker Bell

    Tja da war jemand schneller
     
    Tinker Bell, 1. März 2015
    #3
  4. Variable nicht definiert! Warum?

    Hallo Hajo, Hallo Tinker Bell,

    Vielen Dank für die schnelle Antwort. End(x1Up) wird mit kleine Buchstabe L oder mit dem Sonderzeichen | (Strich-senkrecht) geschrieben, wenn nicht mit 1 geschrieben werden soll? Logisch müsste eigentlich mit 1 zu schreiben, da man ja mit Schritte 1 nach oben herantastet, oder?

    Ich werde heute abend mit kleine Buchstabe L oder mit Sonderzeichen | probieren. Dann berichte ich euch wieder.

    Danke!
    Laurenz
     
    laurenz.noto, 1. März 2015
    #4
  5. Hajo_Zi
    Hajo_Zi Erfahrener User
    warum Sonderzeichen?
     
    Hajo_Zi, 1. März 2015
    #5
  6. Code:
    xl ... steht einfach für Excel-Konstante (bei allen Excel-Konstanten).
    Da sind keine weiteren intellektuellen Betrachtungen notwendig. Es ist wie es ist.
     
    ebs17, 1. März 2015
    #6
  7. Hallo Hajo, Hallo ebs17, Hallo Tinker Bell,

    Als VBA Lehrling, habe ich endlich von Euch gelernt, dass xl im Code End(xlUp) tatsächlich einen bestehenden Code ist, der anschließlich mit Raumrichtungen oder -zuordnungen definiert wird. Nach Korrektur x1 zu xl läuft mein Makro problemlos. Es existiert ebenfalls kein X2Up etc.

    Danke noch mal!
    Laurenz
     
    laurenz.noto, 2. März 2015
    #7
  8. Variable nicht definiert! Warum?

    Hallo,

    Wenn du dich in Excel in deiner Tabelle bewegst, kannst du Shortcuts nutzen.
    Mit Strg+Pfeiltasten springst du dabei an das Ende jeder jeweiligen Spalte/Zeile. Also beispielsweise Strg + Pfeil nach unten springt in die letzte beschriebene Zelle von der aktuellen Zelle aus.
    Und in VBA kannst du die gleiche Funktion mit .End(xlDown) nachstellen.

    Es gibt folglich die vier Varianten .End(xlUp), .End(xlDown), .End(xlToLeft) und .End(xlToRight) in VBA, die einfach den Tastenkombinationen Strg + Pfeil (oben, unten, links und rechts) entsprechen.

    VG
    Santa
     
    Mc Santa, 2. März 2015
    #8
Thema:

Variable nicht definiert! Warum?

Die Seite wird geladen...
  1. Variable nicht definiert! Warum? - Similar Threads - Variable definiert

  2. Combobox einbinden

    in Microsoft Excel Hilfe
    Combobox einbinden: Hallo, ich bastele an einer Funktion, bei der ich an einer Stelle im Programm eine Combobox aufrufen möchte, die dann mit bestimmten Werten aus einer Tabelle gefüllt ist und dann den gewählten...
  3. VBA:Laufzeitfehler beim Einlesen in Variable

    in Microsoft Excel Hilfe
    VBA:Laufzeitfehler beim Einlesen in Variable: Hallo Excel Freaks, ich habe eine Frage, ein Problem wo ich nicht mehr weiter weis.... In eine Exceldatei kopiere ich mir über Makro auf ein Tabellenblatt von anderen Exceldateien das...
  4. Adressen in eine Zelle bei Übereinstimmung eindeutiger Werte einer anderen Spalte

    in Microsoft Excel Hilfe
    Adressen in eine Zelle bei Übereinstimmung eindeutiger Werte einer anderen Spalte: Hallo zusammen, wer letzteren Thread kennt, hier eine Neuauflage. Problem: Aus Array-Berechnungen (Variablen von Let) ein weiteres Array zu erzeugen, welches für alle eindeutigen Werte aus G die...
  5. Variable Anzahl immer 9er Kombination StellenBerechnung

    in Microsoft Excel Hilfe
    Variable Anzahl immer 9er Kombination StellenBerechnung: Hallo schönen Guten Abend mit Bauchweh, das ich bereits habe bei meiner Nicht weiter kommenden Formel. Folgendes Es lässt sich Schwer beschreiben doch ich versuche es Ich habe in J3 einen Wert...
  6. Makro für variable Anzahl von Datensätzen

    in Microsoft Excel Hilfe
    Makro für variable Anzahl von Datensätzen: Hallo zusammen, ich habe wieder einmal ein kleines Excel-Problem, bei dem Ihr mir sicherlich helfen könnt. Ich habe eine Excel-Liste, das ist ein Export aus einem anderen Programm (siehe...
  7. Definierter Funktionswert mit Wertebereich für Variable

    in Microsoft Excel Hilfe
    Definierter Funktionswert mit Wertebereich für Variable: Hallo! ich bin auf der Suche nach einer Funktion in Excel, die folgendes Problem löst: Gegeben sei eine Zelle mit der mathematische Funktion y=x²+3. Die mathematische Funktion soll dabei nur in...
  8. Fehler beim Kompilieren: Variable nicht definiert

    in Microsoft Excel Hilfe
    Fehler beim Kompilieren: Variable nicht definiert: Ein freundliches Hallo an Alle, ich habe folgenden Code im Internet gefunden, mit dem ich eine Listbox sortieren kann. Der Code ist in die Userform eingetragen und über eine Schaltfläche soll...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden