Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

VBA, globale Variablen





Frage

Hallo Leute, erstmal vielen Dank für eure ganze Hilfe die ich hier schon gekriegt habe :) Folgendes Problem: Bei VBA sind die Variablen nur jeweils in den jeweiligen Functions verfügbar (so ist mein Wissensstand, bin Anfänger ;)) Mein Plan: Ich will eine globale Variable haben, wo der Wert z.B. ein vorgegebener Pfad ist (C:\Test\). Diesen Wert will ich aber auch gegebenenfalls ändern (durch ne Textbox z.B., Methode ist mir bekannt), dieser Wert soll dann aber auch allen anderen Functions zur Verfügung stehen. Wie kann ich eine globale Variable deklarieren und wie kann ich bei Bedarf deren Wert ändern, dass dieser Wert dann auch wieder global verfügbar (abrufbar) ist? Wenn die Frage zu umfangreich ist, sagt Bescheid. Ich hab wie gesagt keine Ahnung.. hab leider auch gerade keine Fachlektüre hier, das ist mein Problem :-/ Schonmal Danke für eure Antworten!

Antwort 1 von nighty

hi :))

in einem allgemeinen modul abzulegen ist

public DeineVar as string

die zuweisung erfolgt in beliebigen makros da ja global ist

gruss nighty

Antwort 2 von JoeKe

Hallo Mr.Fry,

das was du suchst nennt sich Public. Im folgenden mal ein Beispiel:

Public Datei As String

Sub Abfrage()
Dim name As String
name = InputBox("Welche Datei soll geöffnet werden?")
Datei = "C:\Dokumente und Einstellungen\user\Desktop\" & name & ".xls"
End Sub

Sub Datei_öffnen()
Workbooks.Open Filename:=Datei
End Sub


Hier wird die Variable "Datei" mit Public zur öffentlichen Variablen deklariert. Im ersten Code wird ihr dann ein, hier veränderlicher (durch eine InputBox), Wert zugewiesen. So kann die Variable "Datei" in allen folgenden Projekten verwendet werden.


MfG

JöKe

Antwort 3 von MrFry

Vielen Danke euch beiden, ihr habt mir sehr geholfen!

Antwort 4 von nighty

hi :))

noch ein beispiel :)

gruss nighty

alt f11/projektexplorer/DeineArbeitsMappe einzufügen ist /speichern/schliessen/öffnen fertig :))

Option Explicit
Public DeineVar As String
Private Sub Workbook_Open()
DeineVar = "C:\test"
[a1] = DeineVar
End Sub

Antwort 5 von MrFry

Ich bins nochmal ;)

Es hat sich nun folgendes Problem ergeben...

Ich kann keinen Variablenwert zwischen UserForms hin und her geben..

Beispiel:
(Ich habe im allgemeinen Bereich der Arbeitsmappe die Variable als Public deklariert)

Ich hab in einer Excel-Datei einen Button, dort wird mit ner Inputbox nach dem Dateinamen gefragt. Nun wird eine Form geladen, wo der Dateiname angezeigt werden soll, aber die Variable wird bis dorthin nicht übergeben. Wie kann ich diese Variable Mappen-weit als Public deklarieren? Muss ich die Variable vielleicht abholen? Wenn ja: wie?

Antwort 6 von MrFry

Okay Sorry, Nighty hatte es schon erwähnt... es muss in einem allgemeinen Modul abgelegt werden. Wusste bis eben nicht was es ist, aber nun funzt es ;)

Danke!

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: