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

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

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

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige