online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon jojow vom 07.05.2020, 13:36 Options

Nach Ende des VBA-Makros Zelle A1 anzeigen - Fenster fixiert

Hallo,
ich möchte, dass trotz fixiertem Fenster (bspw. in D7) nach Ablauf eines Makros in die Zelle A1 gesprungen und diese auch angezeigt wird.
Angenommen, am Ende des VBA-Codes steht der Cursor in Zelle Z100. Das Fenster ist wie gesagt auf Zelle D7 fixiert. Wenn ich jetzt A1 selektiere oder aktiviere, passiert nichts. Ich möchte aber, dass ich ganz nach oben links - also A1 - springe und auch die Folgezeilen ab der Fensterfixierung - also ab Zeile 7 - sehe.

Hat jemand eine Idee?

Danke, Gruß
Jojo


Antwort schreiben

Antwort 1 von Saarbauer vom 07.05.2020, 13:43 Options

Hallo,

schon mit

Range("a1").Select

in deinem Makro probiert?

Gruß

Helmut

Antwort 2 von Hajo_Zi vom 07.05.2020, 14:08 Options

Hallo Jojo,

solche Probleme umgeht man.
Excel ist ein vielseitiges Programm und man kann viele Probleme damit lösen. Jede positive Seite hat aber auch negative Aspekte - einer davon ist im Makrorecorder enthalten.
Die Bücher, die es zu Excel VBA gibt, erklären viele Funktionen, aber ich habe bisher nur in einem gelesen, dass der vom Makrorecorder aufgezeichnete Code bereinigt werden muss.
Der Makrorecorder zeichnet alle Aktionen auf, u. a. auch das Auswählen einer Zelle oder eines eingebetteten Objektes (Bild, Diagramm, Zeichnungsobjekt usw.) – dabei wird generell Select und Activate aufgezeichnet. Diese Befehle sind in VBA zu 99,9% nicht notwendig. Sie lassen den Bildschirm flackern und senken die Geschwindigkeit bei der Ausführung des Codes. Man sollte also schon von Beginn an bei der Programmierung darauf achten, solche Befehle zu vermeiden. Meine Erfahrung mit dem Vorsatz: „Das mache ich später“ ist, man schreibt das Programm später meist komplett neu. Also kostest es nicht nur Rechnerzeit sondern auch Deine Zeit und ist Dir Deine Zeit so wenig Wert?
Zum Vergleich mit und ohne Select schau Dir auch mal diese Beispielarbeitsmappe an: ohne select
Auf meiner Homepage sind alle meine Beispiele ohne Select. Da kann man sich also einige Lösungsansätze zu diesem Thema ansehen.

Gruß Hajo

Antwort 3 von jojo5 vom 07.05.2020, 14:31 Options

Hallo,

danke für eure Antworten. Den Select-Befehl habe ich natürlich schon probiert - erfolglos.

Hajo, Dein link "ohne select" zeigt leider auf eine ungültige Seite. Kannst Du den bitte aktualisieren?

Danke, Gruß
Jojo



  • *Threadedit* 14:34:19, 07.05.2008
    Admininfo: Link in A2 korrigiert
  • Antwort 4 von Hajo_Zi vom 07.05.2020, 14:38 Options

    Hallo JoJo,

    ich habe es gerade getestet, es geht. Sind vielleicht ZIP Dateien geblockt. Die Datei ist nur ein Zeitvergleich zwischen mit select und ohne select.

    Gruß Hajo

    Antwort 5 von jojow vom 07.05.2020, 16:29 Options

    Hallo Hajo,

    danke - jetzt konnte ich das file aufrufen. Mein eigentliches Problem wird dadurch aber leider nicht gelöst. Die Positionierung auf A1 funktioniert bei mir prinzipiell auch.

    Die Kunst ist aber, dass es auch bei einem fixierten Fenster geht. Zur Not müsste ich die Fixierung zunächst entfernen, dann auf A1 springen und dann die Fixierung wieder setzen. Aber das wäre nur ein workaround.

    Vielleicht hat doch noch jemand eine Idee, wie das bei fixiertem Fenster funktioniert ...

    Trotzdem danke, Gruß
    Jojo

    Antwort 6 von finger59 vom 07.05.2020, 16:47 Options

    Hi Jojo,

    versuche mal diesen Befehl in Dein Makro einzubauen.

    Application.SendKeys ("^{POS1}")

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

    Antwort 7 von Hajo_Zi vom 07.05.2020, 16:52 Options

    hallo Jojo,

    wenn Du also in Deiunem Code meinen Tip beachtet hast und kein select usw. eingesetzt hast, warum mußt Du dann noch auf A1 springen. Der Bildschirm sieht doch genauso aus wie bei Makrostart.

    Gruß Hajo

    Antwort 8 von Kauz vom 07.05.2020, 19:44 Options

    Hallo jojo...

    versuch es mal mit zwei Sprüngen:

    Erst auf die erste Zeile unterhalb der Fixierung, und danach zu <A1>:
    
      Application.Goto Reference:=Sheets("Tabelle1").Cells(7, 4), Scroll:=True
      Application.Goto Reference:=Sheets("Tabelle1").Cells(1, 1), Scroll:=True
    

    ODER hiermit:
    
        ActiveWindow.ScrollRow = 7
      Application.Goto Reference:=Sheets("Tabelle1").Cells(1, 1), Scroll:=True
    


    Gruß
    Andreas

    Antwort 9 von jojo5 vom 08.05.2020, 15:34 Options

    Hallo,

    danke - der Befehl
    "Application.Goto Reference:=Sheets("Tabelle1").Cells(1, 1), Scroll:=True"
    ist genau das, wonach ich gesucht habe (und dieser eine Befehl reicht auch aus).

    @ Hajo: Das Makro wird mit einem Buttonklick gestartet. Der Button ist jedoch nicht für alle sofort sichtbar. D.h. die "Wissenden" müssen zu der Spalte scrollen, in der der Button ist und das Makro dann starten. Nach Beendigung des Makros soll der Button aber nicht mehr sichtbar, sondern A1 ausgewählt sein.

    Viele Grüße
    Jojo

    Ähnliche Themen

    Hilfe bei der Erstellung eines Makros
    nok106  14.01.2007 - 85 Hits - 2 Antworten

    vba vergleich des zelleninhalts
    Bienschen  21.01.2007 - 334 Hits - 5 Antworten

    Hinweis

    Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

    Neue Einträge

    Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026