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

Forumthread: Globale Variable wird nicht übernommen

Globale Variable wird nicht übernommen
01.04.2021 17:46:04
PhilipMcn
Hallo Zusammen,
ich habe eine globale Variable definiert, welche die nächste freie Zeile in einer Spalte ermittelt und als Integer ausgibt. Wenn ich diese Variable aber in einem Makro verwenden will (Ein Wert soll in diese Zeile geschrieben werden), bekomme ich eine Fehlermeldung und die Variable wird als = 0 angezeigt.
Wenn ich die Variable aber in einer Zelle ausgebe, steht dort die korrekte Zahl, und wenn ich im Makro anstelle der globalen Variable eine neue Variable einfüge, welche dem Wert der Zelle entspricht, funktioniert alles wunderbar. Was habe ich hier übersehen?

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Globale Variable wird nicht übernommen
01.04.2021 17:47:57
Hajo_Zi
frage jemand der neben Dir sitzt der sieht die Datei.
Die meisten hier sehen Sie nicht.
Da Sie nicht auf Deinen Rechner schauen.
Vielleicht sollte die Datei verlinkt werden?
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten ändern. Schaue Datei
http://hajo-excel.de/gepackt/fremd/Datei_verschluesseln.zip
Das ist nur meine Meinung zu dem Thema.
Bild
Homepage

Anzeige
AW: Globale Variable wird nicht übernommen
01.04.2021 18:01:40
Hajo:Zi
Dim i As Long
Sub NächstefreieZeile()
Gruß Hajo

AW: Globale Variable wird nicht übernommen
01.04.2021 18:06:24
PhilipMcn
Du meinst so?
Global NFZ As Integer
Dim i As Long
Sub NächstefreieZeile()
Dim i As Long
Dim NFZ As Integer
i = 1
Do Until i = 105
If Range("Tabelle1!A" & i).Value = "" Then
NFZ = i
Exit Do
Else
i = i + 1
End If
Loop
Range("Tabelle1!C1").Value = NFZ
End Sub
Sub zeileschreiben()
Range("Tabelle1!A" & NFZ).Value = "test"
Call NächstefreieZeile
End Sub


Anzeige
AW: Globale Variable wird nicht übernommen
01.04.2021 18:18:04
Nepumuk
Hallo Philip,
so:
Option Explicit
Public NFZ As Long
Sub NächstefreieZeile()
With Tabelle1
NFZ = .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Row
.Range("C1").Value = NFZ
End With
End Sub
Sub zeileschreiben()
Range("Tabelle1!A" & NFZ).Value = "test"
Call NächstefreieZeile
End Sub

Gruß
Nepumuk

Anzeige
AW: Globale Variable wird nicht übernommen
02.04.2021 11:43:03
Daniel
Hi
Du darfst die globale Variabel nicht nochmal im Makro deklarieren.
Wenn du das machst, entsteht im Makro eine neue Variable, die zwar den gleichen Namen hat, aber eigenständig ist und im Makro anstelle der globalen Variablen verwendet wird.
Gruß Daniel

AW: Globale Variable wird nicht übernommen
02.04.2021 15:27:02
PhilipMcn
OK, das macht Sinn, danke Daniel und die anderen!

Anzeige
AW: Globale Variable wird nicht übernommen
01.04.2021 17:56:26
Nepumuk
Hallo Philip,
hast du versehentlich die Variable auch in der Prozedur deklariert?
Gruß
Nepumuk
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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