Microsoft Excel

Herbers Excel/VBA-Archiv

Läuft der Code auch im "Hintergrund"?

Betrifft: Läuft der Code auch im "Hintergrund"? von: Peter F.
Geschrieben am: 21.08.2008 18:34:11

HalloExcel-Gemeinde,

Wer kann mir unter die Arme greifen:

Ich habe ein Workbook mit 2 Sheets ("Monitor" ;"Editor"). Gearbeitet wird in Monitor.

Ein Teil meines (bitte nicht lachen, ist vielleicht zu primitiv für die Experten, aber es klappt) Makros, das aus Monitor heraus gestartet wird, lautet:

' ----Neue Zeile In Editor Einfügen----

Sheets("Editor").Activate
Range("A31").Select
Selection.EntireRow.Insert
ActiveCell.Offset(-1, 0).Range("A1:GZ1").Select
Selection.Copy
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.Select
Sheets("editor").Select
Range("A31") = WSN
Range("B31") = ProdName
Application.Goto Reference:="GesamtBulkTab"
Selection.Sort Key1:=Range("A7"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Sheets("Monitor").Activate

' usw........

Wie müsste der Code lauten, wenn der Editor nicht zwischdurch aktiviert werden soll, das Makro also gewissermaßen im Hintergrund abläuft ?

Danke für euren Gehirnschmalz.

Gruß,
Peter

  

Betrifft: mit Application.ScreenUpdating = False von: Matthias L
Geschrieben am: 21.08.2008 18:52:44

Hallo

setze am Beginn des Code
Application.ScreenUpdating = False
und am Ende wieder
Application.ScreenUpdating =True

und Select ist oft überflüssig.

statt
Sheets("editor").Select
Range("A31") = WSN

geht z.B.
Sheets("editor").Range("A31") = WSN

Gruß Matthias


  

Betrifft: AW: mit Application.ScreenUpdating = False von: Peter F.
Geschrieben am: 21.08.2008 21:22:40

Hallo Matthias,

danke für die Hilfe. Hätte nicht gedacht, dass das so einfach geht. Das hilft mir sehr bei weiteren Vorhaben.

Gruß,

Peter