Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Variablen übergabe in VBA

Forumthread: Variablen übergabe in VBA

Variablen übergabe in VBA
07.11.2003 09:52:32
Motrix
Hallo, ich hab da eine frage
wie kann ich in VBA (Excel Makro) eine Varaible aus einen anderen makro übergeben lassen und diese dann wie unten aufgeführt eintragen lassen?

Gruß Mo

Und danke für die hilfe im voraus ^^

Worksheets("123").Activate <== Variable für "123" einsetzen
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variablen übergabe in VBA
07.11.2003 09:54:47
Ron Andres
Moin,


Sub Test(Variablen)
Worksheets(Variable).Activate
End Sub


Aufrufen tust Du dann

test Variable
AW: Variablen übergabe in VBA
07.11.2003 09:58:19
Motrix
also das ist mein derzeitiges makro:


Sub Makro1()
Worksheets("123").Activate
Range("Z15").Activate
ActiveCell.FormulaR1C1 = "=COUNTIF(R[-5]C[-25]:R[9985]C[-25],""Fehler/Null"")"
fehler = Range("Z15").Value
fehler = fehler - 1
While (i < fehler)
i = i + 1
Range("A10", "A10000").Find("Fehler/Null").Activate
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
ActiveCell.Offset(-1, 0).Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
Wend
Range("Z15").Clear
Range("A10", "A10000").Find("Gesamt").Activate
ActiveCell.Offset(-2, 0).Range("A1").Activate
lir = ActiveCell.Offset(0, 6).Range("A1").Address
Range("A10", "A10000").Find("Auftrags- nummer").Activate
ActiveCell.Offset(1, 0).Range("A1").Activate
lic = ActiveCell.Offset(0, 2).Range("A1").Address
Range(lic, lir).Copy
Worksheets("Tabelle3").Activate
Range("a1").Activate
ActiveSheet.Paste
Worksheets("Tabelle2").Activate
ActiveWindow.ScrollColumn = 1
Range("B2").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(Tabelle3!R1C3:R10001C3,RC[-1])"
Range("C2").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(Tabelle3!R1C4:R10001C4,RC[-2])"
Range("D2").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(Tabelle3!R1C5:R10001C5,RC[-3])"
Range("E2").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(Tabelle3!R1C1:R10001C1,RC[-4])"
Range("B2").Select
Selection.AutoFill Destination:=Range("B2:B42"), Type:=xlFillDefault
Range("B2:B42").Select
ActiveWindow.ScrollRow = 1
Range("C2").Select
Selection.AutoFill Destination:=Range("C2:C42"), Type:=xlFillDefault
Range("C2:C42").Select
ActiveWindow.ScrollRow = 1
Range("D2").Select
Selection.AutoFill Destination:=Range("D2:D42"), Type:=xlFillDefault
Range("D2:D42").Select
ActiveWindow.ScrollRow = 1
Range("E2").Select
Selection.AutoFill Destination:=Range("E2:E42"), Type:=xlFillDefault
Range("E2:E42").Select
Range("F7").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-5]C[-1]:RC[-1])"
Range("F9").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-1]C[-1]:RC[-1])"
Range("F11").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-1]C[-1]:RC[-1])"
Range("F16").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-4]C[-1]:RC[-1])"
Range("F23").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-6]C[-1]:RC[-1])"
Range("F42").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-18]C[-1]:RC[-1])"
End Sub


dazu kommt hinzu das ich ein 2te smakro habe (was zu erst abläuft:


Sub Tabellenblätter_erstellen()
Dim DName As String, wsh As Worksheet
Dim BName As String, Dat As Long
DName = ThisWorkbook.Name
m = CInt(GetSetting(DName, "Datum", "Monat", 1))
j = CInt(GetSetting(DName, "Datum", "Jahr", 2003))
m = m + 1
If m = 13 Then
m = 1
j = j + 1
End If
Dat = DateSerial(j, m, 1)
BName = Format(Dat, "mmmm yyyy")
gesamt_name = BName & " Gesamt"
Set wsh = Worksheets.Add(after:=Sheets(Sheets.Count))
wsh.Name = BName & " Gesamt"
auswertung_name = BName & " Auswertung"
Set wsh = Worksheets.Add(after:=Sheets(Sheets.Count))
wsh.Name = BName & " Auswertung"
SaveSetting DName, "Datum", "Monat", m
SaveSetting DName, "Datum", "Jahr", j
End Sub


jetzt möchte ich eben das in makro2 wo der "auswertung_name" und "gesamt_name" ion makro1 ersetzt wird. ( so das wenn auswertung_name = 1 ist dann auch in makro1 "tabelle1" dann 1 entspricht.) leider bin ich nicht so wirklich gut und würd emich freuen wenn du das genauer erklähren könntest

Gruß Mo
Anzeige
AW: Variablen übergabe in VBA
07.11.2003 10:05:38
Ron Andres
Also,

Du rufst eine andere Prozedur (Sub) einfach über den Namen auf. Wenn Du eine Prozedur erstellst, dann kannst Du Ihr auch gleich sagen, das Sie Variablen übergeben bekommt.

Ungefähr so:

Sub Makro1(Variable1, Variable2)
Wenn Du jetzt das Makro1 aus einem anderen Makro aufrufst, dann tust Du das mit dem Namen und tipperst dahinter die Variablen. Im Makro1 werden dann die Variablen mit dem entspechenden Inhalt verwendet
Bsp:

Sub summe(zahl1, zahl2)
msgbox(zahl1+zahl2)
End Sub



Sub test()
z1 = 5
z2 = 10
summe z1,z2 'Hier wird Summe aufgerufen und die beiden Zahlen übergeben.
End Sub

Anzeige
AW: Variablen übergabe in VBA
07.11.2003 10:14:06
Motrix
Hallo,
es funktioniert sicherlich soweit, aber das problem ist das durch diese übergabe das andere makro gleich anläuft, dies soll aber manuel aufrufbar sein. wie mach ich das? O.o
AW: Variablen übergabe in VBA
07.11.2003 10:36:24
Motrix
ActiveCell.FormulaR1C1 = "=COUNTIF(Tabelle3!R1C4:R10001C4,RC[-2])"

Frage wie kann ich hier für "Tabelle3" denn wert aus variable "tmp_name" übergeben?

Gruß Mo
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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