Variablen übergeben die xte
#1
Hallo lieber Excel-Gemeinde,

 Ich habe ein Problem, das schon oft diskutiert wurde, leider komme ich aber nicht weiter.  
Das Problem dreht sich meiner Ansicht nach um die Deklaration der Variablen und die Übergabe in die jeweiligen Makros eines Projektes.

Zum Problem:
In Makro1 werden die Variablen zeile und spalte ermittelt.
In Makro2 werden aus den Variablen zeile und spalte die Variablen ort und koord ermittelt.
In Makro3 werden diese Variablen verarbeitet und in einer Userform dargestellt.
Im Makro4 werden die Variablen zeile und spalte erneut benötigt.
Wie bekomme ich die variablen zeile und spalte in alle Makros des Projektes?

Wer weiß Rat?
Danke
Top
#2
Hallo,

so:

Code:
Option Explicit

Dim intZeile As Integer
Dim intSpalte As Integer

Sub DeinMakro1()
' Inhalte
End Sub

Sub DeinMakro2()
'inhalte
End Sub
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#3
Danke Klaus-Dieter,

Ich werde Deine Lösung ausprobieren.

Wie müsste ich vorgehen, wenn die sich dieMakros in verschiedenen 
Modulen befinden?
Top
#4
Hallo, :19:

schau dir hier mal die Lebensdauer und Gültigkeit von Variablen an: :21:

Variable - Public...
[-] Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:
  • tmessers
Top
#5
Hallöchen,

wenn Deine Makros alle in einem Modul stehen, passt das. Ein Projekt kann jedoch aus mehreren Modulen bestehen - dazu zählen auch Blätter, DieseArbeitsmappe usw., - und um die Variablen auch modulübergreifend oder eben im gesamten Projekt bereitzustellen solltest Du Public nehmen statt Dim.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#6
Hallo,

kurz bevor ich einst einmal Excel aufgegeben habe habe ich immer ein Modul Namens Variablen eingesetzt. Damit brauche ich diese nicht mehrfach zu Dimensionieren, kann immer auf diese zugreifen:


Zitat:
Public Schalter As Boolean
Public i As Integer
Public Zeile As Integer
Public AnzahlZ As Integer
Public Loletzte As Long
Public Neuer_Name As String
Public eingelesen() As String
Public Passwort As String
Public Passwort2 As String
Public Passwort3 As String
Public Benutzername As String
Public bprop(25, 2) As Variant
Public bprop2(25) As Variant
Public Zeichen As Variant
Public zufall As Variant

Hier ist es egal, ob ich von einem Tabellenblatt, oder von einem Modul zugreife.

Gruß
Marcus

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
[-] Folgende(r) 1 Nutzer sagt Danke an marose67 für diesen Beitrag:
  • tmessers
Top
#7
Integriere die 4 Makros in ein einziges Makro.
Die Trennung kreiert nur ein überflüssiges Problem.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#8
Danke für Eure Antworten.

Für die kleinen Projekte nehme ich Dim, für andere das Variablen deklariende Modul.

Wenn ich die Public-Variante nehme, muss ich dann beim Call des Moduls, die Varablen mit angeben,
ich meine z.B. so

Call Modul (ziele, spalte) ?
Top
#9
(18.01.2020, 23:25)tmessers schrieb: Wenn ich die Public-Variante nehme, muss ich dann beim Call des Moduls, die Varablen mit angeben,
ich meine z.B. so

Call Modul (ziele, spalte) ?

Hallo, :19:

nein. Allerdings ist meiner Meinung nach "Public" die unsaubere, bequeme Variante. Das nutze ich im Forum, oder bei kleinen Projekten auch. In größeren Projekten allerdings nicht, denn du hast keine Kontrolle über die Variable. Da hat sich schnell ein Fehler eingeschlichen und ruck zuck hat die Variable einen Wert, den du nicht möchtest.
Top
#10
Hallöchen,

So was eher nicht: Call Modul (ziele, spalte)

Eher Call MeinMakro (Zeile, Spalte)

oder Call MeinModul,MeinMakro (Zeile, Spalte)
(Falls es den gleichen Makronamen in mehreren Modulen gibt, ist aber auch nicht prickelnd ...)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste