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