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

gleich Zelle

gleich Zelle
25.09.2005 15:28:48
Pia
Hi!
Ich möchte den Wert einer Zelle in einer Variablen speichern, um später schnell darauf zugreifen zu können.
Ich habe es so probiert:
Const psw_ap = Sheets("Daten").Range("A6")
Aber das ist wohl falsch, funktioniert nämlich nicht!
Danke für Eure Tipps!

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

Betreff
Datum
Anwender
Anzeige
AW: gleich Zelle
25.09.2005 15:34:06
Leo
Hi,
Dim Zelle as range
set Zelle = Sheets("Daten").Range("A6")
mfg Leo
AW: gleich Zelle
25.09.2005 16:38:44
Pia
Hi!
Was ist denn der Unterschied zu der Constanten? Wenn ich
Const psw_ap = "test"
festlege, kann ich ja auch darauf prüfen......
Dies gilt aber immer nur für das aktuelle modul, oder?
Kann ich diese auch übergreifend festlegen?
AW: gleich Zelle
25.09.2005 16:46:54
Peter
Servus,
das eine hat mit dem anderen nichts zu tun.
Du musst dir nur mal den Unterschied im Wortstamm überlegen,
Konstant (festgelegt) und Variabel (flexibel).
Wenn du es Modull übergreifend willst musst du das in etwa so machen.
Public Const test = "Test"
MfG Peter
Anzeige
AW: gleich Zelle
25.09.2005 16:52:57
Pia
Hi!
Ah, jetzt verstehe ich das! Klar, ist ja auch logisch!
Also, ich habe mich dafür entschieden, Constanten zu verwenden, die ich bei Öffnen der Arbeitsmappe festlegen will. Allerdings gibt er mir direkt beim Schreiben die Fehlermeldung aus, dass die Constante nicht öffentlich sein kann.
Dazu auch noch eine Frage:
Ich rufe beim Öffnen ein Makro auf (Menü).
Dieses möchte ich als Private deklarieren, damit man es über Menü Extras Makros nicht aufrufen kann. Dann aber findet er das ja auch beim Öffnen nicht mehr!
Danke für Eure Hilfe!
AW: gleich Zelle
25.09.2005 17:33:58
Peter
Servus,
du kannst eine konstante nur in einem Modul definieren.
Füge mal unten stehenden Code ein, vieleicht wirds dann klarer.
Funzen tuts so in jedem Fall


      
'Modul .bas
Option Explicit
Option Private Module ' verhindert das öffnen außerhalb des VBA Editors
Public Const strTest = "Test" ' oder wie deine Konstante auch immer heißen mag

'Klassenmodul DieseArbeitsmappe
Private Sub Workbook_Open()
MsgBox strTest
End Sub 


MfG Peter
Anzeige
AW: gleich Zelle
25.09.2005 18:02:20
Pia
Hi!!
Danke, jetzt funktioniert das!
Eine letzte Frage hierzu:
Wenn ich nun eine Variable verwenden wollen würde, wie im ersten BSP, wie würde das funktionieren, dass diese auch für das ganze Projekt gilt?
Set psw_user = Sheets("Daten").Range("A11")
müsste ich ja innerhalb einer Prozedur aufrufen....
Danke!
AW: gleich Zelle
25.09.2005 19:02:42
Peter
Servus,
geht natürlich auch, du musst nur bedenken das die Variable eben nicht konstant ist.
D.H. nach erneutem Starten von Makros muss die Variable wieder eingelesen werden.
Gehen würde das in etwa so.


      
'Modul .bas
Option Explicit
Option Private Module ' verhindert das öffnen außerhalb des VBA Editors
Public strTest As String
Sub t()
strTest = "Test"
End Sub
'Klassenmodul DieseArbeitsmappe
Private Sub Workbook_Open()
Call t
'oder Alternativ
'strTest = "Test2"
MsgBox strTest
End Sub 


MfG Peter
Anzeige
AW: gleich Zelle
25.09.2005 15:49:57
WernerB.
Hallo Pia,
"Const psw_ap" ist keine Variable, sondern eine Konstante.
Der Zellinhalt von "A6" kann aber jederzeit geändert werden - damit kann es keine Konstante sein - und Excel/VBA lässt sich durch solche widersprüchlichen Konstruktionen, wo eine Konstante gleichzeitig auch noch variabel sein soll/kann, eben nicht austricksen.
Gruß
WernerB.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige