Microsoft Excel

Herbers Excel/VBA-Archiv

Variable nach Macrostart erhöhen

Betrifft: Variable nach Macrostart erhöhen
von: Thomas Scher
Geschrieben am: 15.04.2003 - 17:16:53

Hallo Forum,
ich habe wider eine besondere Frage.
Zeitgesteuert wird ein >Macro alle halbe stunde aufgerufen. Das klappt auch super. Doch muss sich die variable immer um 1 erhöhen.
Das heist um 00:10 ist i = 2 das macro läuft ab und die datei wird gespeichert.Dann soll die Datei mit test.00 & i um 00:30 aufgerufen werden wo aber jetzt i = 3 sein soll und das halbstündlich bis i zum schluss den wert 48 hat.


Sub StreamimportKS()
'Dim i As Integer
Dim vdat As Variant
'i = 2
vdat = Format(Date, "mmddyyyy")
'For i = 2 To 48
ChDir "S:\Listen\Stream2\Data\"
Workbooks.OpenText Filename:= _
        "S:\Listen\Stream3\Data\HS" & vdat & "\TC" & vdat & ".000" & i
    ActiveSheet.range("A1").Select
    ActiveCell.FormulaR1C1 = "=LEFT(R[3]C[1],5)"
        Cells.Select
    Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False
        With ActiveSheet.UsedRange
      .Value = .Value
   End With
        Columns("E:E").Select
    Selection.Insert Shift:=xlToRight
        ActiveSheet.range("D11").Select
    ActiveSheet.range(Selection, Selection.End(xlDown)).Select
    Selection.TextToColumns Destination:=ActiveSheet.range("d11"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(Array(0, 1), Array(4, 1), Array(47, 1), Array(57, 1), Array(68, 1), _
        Array(79, 1), Array(89, 1))
    ActiveSheet.range("A11").Select
    ActiveSheet.range(Selection, Selection.End(xlDown)).Select
    ActiveSheet.range("A11:H19").Select
    Selection.Copy
    Windows("streammacros.xls").Activate
    Worksheets(2).Select
    ActiveSheet.range("B5").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
        'Next i
     
End Sub


Mein Macro zeigt mir nur eine Schleife mit next i das hilft mir aber nix!!
Für Hilfe wäre ich dankbar da 48 mal das gleiche Macro auch heftig ist ..
gruss
thomas

  

Re: Variable nach Macrostart erhöhen
von: Mike E.
Geschrieben am: 15.04.2003 - 17:22:14

Hallo,

schreibe doch hilfsweise ans Ende deines Makros den Wert in die Tabelle, den die Variable beim nächsten Start annehmen soll.

Blöde Idee?

Gruß
Mike E.

  

Re: Variable nach Macrostart erhöhen
von: Thomas Scher
Geschrieben am: 15.04.2003 - 17:39:12

Blöde Ideen gibt es nicht ! Danke erstmal für den Einfall, doch die Variable ist dann Absolut und erhöht sich nicht !
Wenn ich das Macro eh 48 mal kopieren muss kann ich sie auch direkt eintragen....
Es muss ein Befehl sein wie if start Macro zum *ten mal dan i mal ? also wenn das Macro zum 5ten mal läuft dann i * 5 oder so.. nur der weg dahin ist wie immer schwer...

dank nochmal
gruss Thomas

  

Re: Variable nach Macrostart erhöhen
von: Mike E.
Geschrieben am: 15.04.2003 - 17:46:32

Hi Thomas,

aber so müsste es gehen:

nehmen wir an, in Sheets(1).Cells(1,1)

steht "meine" Zahl.

Dann sagst du am Ende deines Makros einfach:

Sheets(1).Cells(1,1) = Sheets(1).Cells(1,1) + 1

Somit erhöht sich die Variable nach jedem Durchlauf um 1.

Grüße
Mike

  

Re: Variable nach Macrostart erhöhen
von: Thomas Scher
Geschrieben am: 15.04.2003 - 18:02:26

Vielen Dank !
Ich werde es morgen früh direkt ausprobieren und dann meldung machen !!

Leider muss ich jetzt zur Bahn und kann es nicht mehr sofort ausprobieren!!


Danke erstmal
gruß Thomas

  

Re: Variable nach Macrostart erhöhen
von: Mike E.
Geschrieben am: 15.04.2003 - 18:24:51

Hi,

du musst natürlich am Anfang des Makros auch

Variable = Sheets(1).Cells(1,1)

setzen...hatte ich vergessen.

Gruß
Mike

  

Danke !
von: Thomas Scher
Geschrieben am: 16.04.2003 - 09:59:29

Hallo zusammen !
Es funktioniert mit der Variablen in der Zelle.
Doch habe ich mich für die ein wenig aufwenderische Arbeit entschieden und mit einer If then Schleife am Anfang des Macros weiter gemacht. Da brauche ich keine verstecketen Zellen im Report ausweisen. Desweiteren kann ich dadurch noch mehr Variable ändern...

Vielen dank für die Vorschläge sie finden in meinen anderen Macros platzt und helfen..

gruß
Thomas

 

Beiträge aus den Excel-Beispielen zum Thema "Variable nach Macrostart erhöhen"