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

Eine Frage

Eine Frage
14.01.2005 06:15:57
Peter
Hallo Experten.
Was muß man vor z. B. diese Zeilen oder anstatt dem, was da steht
Range("C2").Select
Selection.Copy
ActiveSheet.Paste
ActiveSheet.Paste
ActiveWindow.ScrollRow = 1
Rows("1:210").Select
Range("C2:D2").Select
Selection.Merge
Range("B4:F4").Select
Selection.Font.ColorIndex = 9
With Selection.Interior
.ColorIndex = 16
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
schreiben, um diesen Code ausführen zu lassen, obwohl man sich gar nicht in dem
Tabellenblatt befinden, in dem diese Aktionen ablaufen sollen?
Was ich meine, ist:
Kann man ein komplettes Makro mit allen nur erdenklichen Aktionen vollständig
in der Tabelle1 ausführen lassen, während man aktuell in der Tabelle2 steht und
dort stehenbleibt, ohne in die Tabelle1 zu springen?
Über Hilfe würde ich mich sehr freuen.
:)
Gruß
Peter

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eine Frage
14.01.2005 06:35:32
DieterB
Hallo peter..
Application.ScreenUpdating = False
sheets("Tabelle1").("C2").Select
Rest
von Code
Sheets("Tabelle2").Activate
Application.ScreenUpdating = True
damit springst du zwar auch auf Tab1, fällt aber nicht auf..
Viel Erfolg
Gruß
DieterB
AW: Eine Frage
14.01.2005 06:36:22
Franz
Hallo Peter,
probiers mal so:

Sub Peter()
With Worksheets("Tabelle1")
.Range("C2").Copy
ActiveSheet.Paste
ActiveSheet.Paste
ActiveWindow.ScrollRow = 1
Rows("1:210").Select
Range("C2:D2").Select
Selection.Merge
Range("B4:F4").Select
Selection.Font.ColorIndex = 9
With Selection.Interior
.ColorIndex = 16
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
End With
End Sub

Grüße
Franz
Anzeige
Fehler
14.01.2005 06:38:38
Franz
Hallo Peter,
wenn dann so:

Sub Peter()
With Worksheets("Tabelle1")
.Range("C2").Copy
End With
ActiveSheet.Paste
ActiveSheet.Paste
ActiveWindow.ScrollRow = 1
Rows("1:210").Select
Range("C2:D2").Select
Selection.Merge
Range("B4:F4").Select
Selection.Font.ColorIndex = 9
With Selection.Interior
.ColorIndex = 16
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
End Sub

Grüße
Franz
Schönen Dank soweit...
14.01.2005 06:49:10
Peter
Hallo,
Klingt schon mal nicht schlecht. Danke an euch beide. Vorallem für die prompte Antwort.
:)
Aber was ich eigentlich meinte war, ob es möglich ist, ein Makro komplett im Hintergrund
in einer im Hintergrund befindlichen Tabelle ablaufen zu lassen, ohne auch nur ein einziges
Mal in die betreffende Tabelle zu springen.
Mit Sheets.("BlaBla").Select würde ich sie ja doch, wenn auch nur kurz, zu sehen bekommen.
Mir schwebt da nämlich was ganz verrücktes vor. Ich würde gerne, solange eine bestimmtes
Makro auf anderen Tabellen abgearbeitet wird, im Vordergrund die ganze Zeit über eine
Tabelle oder auch eine Grafik (falls möglich) sehen, wo steht: "Einen Augenblick Geduld bitte...". Und wenn das Makro fertig ist und alles schön und ordentlich durchgelaufen, dann soll zu sehen sein "Fertig!" und die aktualisierte Tabelle wird eingeblendet. Man bekommt also vom eigentlichen Vorgang gar nüscht mit. Alles im Hintergrund.
:)
Jetzt frage ich mich halt, ob man ein Makro im Hintergrund ablaufen lassen kann und die betreffende Tabelle dabei nie zu Gesicht bekommt.
Geht das? Oder überfordere ich damit Excel?
Leider habe ich nicht so viel Ahnung davon wie bestimmt ihr.
Danke aber schon für die Antworten.
Gruß
Peter
Anzeige
AW: Application.ScreenUpdating = False
Holger
Hallo
Deshalb ja
Application.ScreenUpdating = False
Damit wird die Bildschirmaktualisierung ausgeschaltet.
Vor der Aktion könntest Du ein Blatt einblenden auf dem steht "Bitte warten " oder was auch immer. Hinterher Bildschirmaktualisierung
( Application.ScreenUpdating = True ) wieder einschalten und die Tabelle anzeigen.(entsprechendes Blatt aktivieren)
Guß Holger
AW: Application.ScreenUpdating = False
14.01.2005 07:02:57
Peter
Hallo Holger,
wirkt sowas auch bei älteren Rechnern? Also solchen, denen man beim laufen die Schuhe besohlen könnte? Du verstehst...
Oder wie wäre den folgende andere Idee. Vielleicht geht das ja.
Ich nehme eine Grafik, zeige sie die ganze Zeit über während alles im Hintergrund abläuft
und blende dann die Tabelle wieder ein.
Geht das?
Gruß
Peter
Anzeige
AW: Application.ScreenUpdating = False
Holger
Ja, sicherlich geht das auch. Der Sinn ist doch nur das der Bildschirm nicht laufend aktualisiert wird.( Rechenleistung ). Bei manch großen Makros wo viele Daten hin und her geschaufelt werden Nervt halt das gezappele auf dem Bildschirm. Wie schon gesagt ist die Bildschirmaktualisierung ausgeschalten wird ständig das letzte Bild ob Tabelle oder Grafik angezeigt.
Holger
AW: Application.ScreenUpdating = False
14.01.2005 07:12:37
Peter
Hallo Holger,
gut, dann werde ich es so mal testen.
Falls aber doch einer noch eine andere Idee haben sollte (wer weiß, vielleicht gibt es da ja den Supertrick!), dann mag er mir diese bitte mitteilen.
Ich markiere diese Frage als "noch offen".
Vorerst vielen Dank allen und noch einen schönen guten Morgen.
Gruß
Peter
Anzeige
Ohne Select geht's immer schneller und auch ...
14.01.2005 07:29:03
Franz
... im Hintergrund !!!!
Hallo Peter,
wenn beide Blätter nicht zu sehen sein sollen, dann versuch dich mal damit:

Sub Peter()
With Worksheets("Tabelle1")
.Range("C2").Copy
End With
With Worksheets("Tabelle2")
With .Range("B4:F4")
.Font.ColorIndex = 9
.ColorIndex = 16
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
End With
End Sub

jetzt mal ungetestet, aber schau mal
Grüße
Franz
AW: Eine Frage
PeterW
Hallo Peter,
sorry für die Einmischung aber vergiss alles, was du hier über die Bildschirmaktualisierung gelesen hast! Das ist im besten Fall eine Krücke, mit der man Unzulänglichkeiten im Code kaschieren kann. Schau dir mal diesen Link an, dort ist alles beschrieben:
https://www.herber.de/xlfaq/xlbasics/main_sel.htm
Gruß
Peter
Anzeige
AW: Eine Frage
Peter
Hallo Peter & Danke Peter.
:)
Sehr guter Tipp.
Gruß
Peter.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige