1.4k Aufrufe
Gefragt in Tabellenkalkulation von finger59 Experte (1.3k Punkte)
Guten Morgen liebe Excel-Fangemeinde,
ich habe mir ein Makro aufgezeichnet um in verschiedenen Gruppenblättern den Bereich von G47 bis I 570 zu löschen, was auch soweit gut klappt - Makro siehe ganz unten.

Allerdings möchte ich nach dem löschen, das die Zelle A1als aktive Zelle da ist (-mit Range A1) und gleichzeitig aber auch der gesamte Bildaufbau der Datei sozusagen mit A1 beginnt.

Mit meinem Makro erhalte ich in der Bearbeitungsleiste auch A1 als aktive Zelle angezeigt, aber die Datei wird mir erst ab Zeile 28 angezeigt, was so nicht sein soll... sondern eben ab Zeile 1 und Spalte A.

Diverse Änderungen in Cells(1,1)- oder Application.sendkey(pos1) (genaue Schreibweise bekannt) - führten leider auch nicht zu dem gewünschten Ergebnis.

In der Hoffnung das mir jemand helfen kann möchte ich mich schon mal bei allen Interessierten und Helferleins bedanken.

In diesem Sinne... have a nice Day.... Gruß Helmut

Änderungen den Bereich aufzulösen und die Tabellenblätter einzeln aufzurufen führten auch nicht zum gewünschten Ergebnis.

Sheets("Gruppe 2").Select
ActiveWindow.ScrollWorkbookTabs Sheets:=40
ActiveWindow.ScrollWorkbookTabs Sheets:=-9
Sheets(Array("Gruppe 2", "Gruppe 4", "Gruppe 12", "Gruppe 15", "Gruppe 20", _
"Gruppe 22", "Gruppe 23", "Gruppe 24", "Gruppe 28", "Gruppe 29", "Gruppe 30", _
"Gruppe 32", "Gruppe 33", "Gruppe 34", "Gruppe 35", "Gruppe 40", "Gruppe 41", _
"Gruppe 42", "Gruppe 43", "Gruppe 44", "Gruppe 48", "Gruppe 57", "Gruppe 59", _
"Gruppe 60", "Gruppe 63")).Select
Sheets("Gruppe 2").Activate
Sheets(Array("Gruppe 64", "Gruppe 66", "Gruppe 75", "Gruppe 77", "Gruppe 78", _
"Gruppe 80", "Gruppe 84", "Gruppe 85", "Gruppe 86", "Gruppe 87", "Gruppe 88")). _
Select Replace:=False
Range("G47:I570").Select
Selection.ClearContents
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Range("A1").Select

3 Antworten

0 Punkte
Beantwortet von finger59 Experte (1.3k Punkte)
Hallo zusammen,

nach weiterem rumbasteln bin ich auf den Befehl

ActiveWindow.LargeScroll Down:=-12

gestoßen und mit dem anschließenden Range(a1) klappt es dann...

Falls aber jemand eine einfachere oder besseren Lösungsweg hat, dann wäre es schön, wenn ich den und die anderen Interessierten auch erfahren könnten.

In diesem Sinne... have a nice Day... Gruß Helmut
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo @ finger59,

wo bist du den in dem oben angegeben Teil des Programms auf

ActiveWindow.LargeScroll Down:=-12

gestossen?

ich finde den Befehl zumindest hier nicht

Gruß

Helmut
0 Punkte
Beantwortet von finger59 Experte (1.3k Punkte)
Hallo Helmut,

ich habe mit dem Makrorekorder vorher die Einzelbefehle mit
ActiveWindow.ScrollRow = 1; ActiveWindow.ScrollRow = 2 usw. erhalten.
Dann hatte ich versucht diese Befehle mit Minuszeichen beizukommen, aber das ergab eine Fehlermeldung.
Diese Zeilen habe ich dann einfach gelöscht, da sie für mich keinen Unterschied ergaben... das Makro lief ja bis zum löschen und läuft auch nach wie vor ohne diese Befehle.
Nachdem ich meine Anfrage hier reingestellt hatte, kam mir mal die Idee über >> Seite nach oben << zu "srollen" und habe mir dieses ebenfalls mit dem Rekorder aufgezeichnet, was eben zu dem Befehl ActiveWindow.LargeScroll Down:=-1
führte, den ich dann einfach nur noch mit dem 12 ergänzt hatte, da dieses der unterste Punkt in meinem Tabellenblatt ist, den ich nutzen würde - sprich 12 Seiten aufwärts gehen.

Ich denke die richtigen Makroschreiber werden sich fast beömmeln über meine Lösung, aber wie so oft... viele Wege in Excel führen zu einem Ergebnis. Manchmal sicherlich dabei auf Umwegen.

In diesem Sinne... have a nice Day.... und bis dann mal wieder... (hier sieht man sich ja öfter ;-))...... Gruß Helmut
...