Office: Beim Start der Tabelle in bestimmte Spalte/Zelle springen

Helfe beim Thema Beim Start der Tabelle in bestimmte Spalte/Zelle springen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Zusammen, da ich nicht wirklich viel Ahnung von Makros habe hoffe ich, ihr könnt mir hier weiterhelfen. Folgendes Problem: Ich bin gerade... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Spirit, 16. September 2009.

  1. Spirit Neuer User

    Beim Start der Tabelle in bestimmte Spalte/Zelle springen


    Hallo Zusammen,

    da ich nicht wirklich viel Ahnung von Makros habe hoffe ich, ihr könnt mir hier weiterhelfen. Folgendes Problem:

    Ich bin gerade am erstellen eines Dienstplanes, der Teil der Tabelle der wichtig ist für das Makro sieht ungefähr so aus:
    ------
    September
    KW 37
    Mo Di Mi Do Fr Sa So
    7 8 9 10 11 12 13
    ----------

    Beim Starten der Tabelle soll der Cursor sofort in der Spalte bzw. in einer bestimmten Zelle des heutigen Datums sein.
    Wie kann ich sowas umsetzen?

    Danke schonmal!
     
  2. Exl121150 Erfahrener User
    Hallo Spirit,

    falls das Arbeitsblatt folgendermaßen aufgebaut ist:
     ABCDEFGH
    1September       
    2KW 37       
    3MoDiMiDoFrSaSo 
    478910111213 
    5        
    6        

    dann setzt folgendes VBA-Makro die aktive Zelle in Zeile 4 mit der Spalte des Wochentags des heutigen Tages. Da heute Mittwoch, der 16.9.2009 ist, setzt das Makro die aktive Zelle in Zelle C4, sobald dieses Arbeitsblatt ausgewählt wird.
    Code:
    Private Sub Worksheet_Activate()
      Dim Sp&
      Sp& = Weekday(Date, vbMonday)
      ActiveSheet.Cells(4, Sp&).Select
    End Sub
    Zur Installation des Makros:
    Obiges Makro mit der Maus markieren und im VBA-Editor in das Klassen-Codemodul desjenigen Arbeitsblattes kopieren, das obige Kalenderwoche enthält.
     
    Zuletzt von einem Moderator bearbeitet: 30. November 2020
    Exl121150, 16. September 2009
    #2
  3. Spirit Neuer User
    Hey Exl121150,
    danke schonmal für deine Antwort. Also es ist so, dass das komplette Jahr in einem Arbeitsblatt ist, d.h. alle KW und alle Tage. Hab das Makro mal ausprobiert, hat aber nicht wirklich geklappt.
    Funktioniert das Makro wenn für jede KW ein eigenes Arbeitsblatt besteht oder habe ich es nur nicht richtig installiert?

    Danke
     
  4. Exl121150 Erfahrener User

    Beim Start der Tabelle in bestimmte Spalte/Zelle springen

    Hallo,

    das Makro - so wie es ist - macht Folgendes:
    Sobald man das Arbeitsblatt auswählt, das dieses Makro enthält, springt die aktive Zelle in die korrekte Wochentagsspalte (Wochentag des heutigen Tages) und zwar in Zeile 4.
    Da heute der 17.9.2009 ist, der ein Donnerstag ist, springt bei Auswahl des Arbeitsblattes die aktive Zelle nach D4.

    Sollte bei dem Sprung der aktiven Zelle auch die aktuelle Kalenderwoche berücksichtigt werden (entsprechende Zeile), müsste ich die genaue Zeilenabfolge kennen, an der das Makro erkennen soll, wo welche KW beginnt.

    Bezüglich Installation des Makros:
    1) Den Makrotext mit der Maus markieren und mit der Tastenkombination Strg+C in die Zwischenablage kopieren.
    2) In ein Arbeitsblatt von Excel wechseln
    3) Dort die Tastenkombination Alt+F11 drücken, um den VBA-Editor aufzurufen.
    4) Im VBA-Editor die Tastenkombination Strg+R drücken, um das Projekt-Explorer-Fenster im VBA-Editor anzuzeigen (falls es nicht schon zu sehen sein sollte).
    5) Im Projektexplorer wird eine Liste angezeigt, die einen fetten Listeintrag "VBAProjekt (...)" enthält. Darunter steht der Eintrag "Microsoft Excel Objekte"; in der nächsten Zeile "DieseArbeitsmappe" und dann folgen die Einträge für die einzelne Arbeitsblätter der Arbeitsmappe.
    Auf den Listeintrag des Arbeitsblattes, das Deine Kalenderwochen enthält, einen Doppelklick ausführen. Dadurch öffnet sich ein großes Fenster (das Codemodul für das Arbeitsblatt).
    6) In dieses Fenster mit Hilfe der Tastenkombination Strg+V das Makro aus der Zwischenablage einfügen.
    7) Zurückwechseln in das Arbeitsblatt mit den Kalenderwochen und schon befindet sich die aktive Zelle in der korrekten Spalte der Zeile 4.
     
    Exl121150, 17. September 2009
    #4
  5. Exl121150 Erfahrener User
    Hallo,

    ich habe Dir in der beiliegenden Excel-Datei 'spirit.xls' die Ereignisbehandlungsroutine fürs Aktivieren-Ereignis an Deine Bedürfnisse angepasst. Diese Routine gilt nur für das Arbeitsblatt '2009'. Soll diese Routine auch für ein weiteres Arbeitsblatt (zB. '2010') gelten, einfach das '2009'-Blatt kopieren, dann kopiert sich auch das Makro automatisch mit ins neue Blatt.

    Voraussetzungen fürs Funktionieren:
    In Zelle C2 muss die Nr. der 1. enthaltenen KW stehen (im Beispiel: 36)
    In Zelle C3 muss der 1. Wochentag der 1. enthaltenen KW stehen (2-Buchst.Format) (im Beispiel: Di)
    Mit diesen Vorgaben wird aus dem HEUTE()-Datum die entsprechende Spalten-Nr. errechnet und die aktive Zelle in diese Spalte der Zeile 4 gestellt.
    Wird eine unerlaubte Spalte-Nr. errechnet (<3 bzw. >255), erfolgt ein Fehlerhinweis und die aktive Zelle wird in Zelle C4 gestellt.
     
    Exl121150, 17. September 2009
    #5
  6. Exl121150 Erfahrener User
    Hallo Spirit,

    ich habe in der beigefügten Excel-Datei das Problem behoben, dass beim Laden und Öffnen einer Arbeitsmappe dann kein Activate-Ereignis ausgelöst wird, wenn das 1. Arbeitsblatt angezeigt werden soll.
    Jetzt führt das Open-Ereignis der Arbeitsmappe auch gleichzeitg mit dem Aktivieren des 1. Arbeitsblattes das KW-Makro für das 1. Arbeitsblatt (Blatt "2009") aus.
    Soll später einmal (zB. 2010) ein weiteres Arbeitsblatt vorliegen, das automatisch nach dem Start angezeigt werden soll, müsste dies im Programm fürs 'Workbook_Open'-Ereignis entsprechend angepasst werden (durch Kommentar entsprechend gekennzeichnet - im Codemodul für 'DieseArbeitsmappe').
     
    Exl121150, 17. September 2009
    #6
  7. Spirit Neuer User
    Wow Exl,
    vielen vielen herzlichen Dank, funktioniert einwandfrei und wunderbar. Danke!


    Ich hätte noch 2 weitere Fragen zu der Tabelle, kann ich die in diesem Thread stellen oder soll ich einen neuen aufmachen?

    * Ist es möglich bestimmte Spalten / Bereich so zu schützen dass die Formatierung auf jeden Fall erhalten bleibt und es nur möglich ist Werte doch rein zu schreiben. Ich möchte die Spalte für Sa und So anders formatiert habe. Wenn ich jetzt aber z.B. Mo ein A reinschreibe und das einfach rüberkopiere ist ja die Formatierung weg.

    * Ich habe schon einige Codes ausprobiert, aber irgendwie bekomme ich es nicht hin, dass alle Werte in einem bestimmten Bereich groß geschrieben werden, dass geht nur wenn das Makro extra ausgeführt wird, wie geht das automatisch?

    Wäre echt dankbar wenn mir da vielleicht noch jemand weiterhelfen könnte. (Exl? ;) )
     
  8. Exl121150 Erfahrener User

    Beim Start der Tabelle in bestimmte Spalte/Zelle springen

    Hallo Spirit,

    zur 1.Frage: es gibt einen speziellen Kopierbefehl: man kopiert zuerst einen markierten Zellbereich in die Zwischenablage (zB. mit Strg+C), dann wählt man den Zielbereich aus (bzw. die linke obere Eckzelle), klickt mit der rechten Maustaste auf diese Zelle, wählt dann aus dem Kontextmenü den Befehl 'Inhalte einfügen...'; im erscheinenden Dialogfenster wählt man den Radiobutton 'Werte' aus und klickt dann auf den 'Ok'-Button. Damit fügt man nur die Werte des Quellbereichs im Zielbereich ein, ohne die Formatierung im Zielbereich zu beeinträchtigen.

    zur 2.Frage: in VBA gibt es dafür eine Funktion 'UCase(...)'. Diese baut man am besten in die Ereignisbehandlungs-Routine für das Worksheet-Change-Ereignis ein. Ereignet sich in einer Zelle des Arbeitsblattes eine Änderung (wegen Texteingabe), wird das Change-Ereignis des Arbeitsblattes ausgelöst. Dieses übergibt den geänderten Zellbereich und auf diese Zellen wendet man die Funktion UCase(...) an.

    Ich habe Dir eine Excel-Datei angefügt, in der ich die UCase-Funktion für die KW-Spalten eingebaut habe; ebenso einen Einfärbmechanismus, der bei den Arbeitstagspalten (Mo..Fr) anders reagiert als bei den Wochenendspalten (Sa,So). Falls das dort durchgeführte Einfärben passt, wäre damit auch das Kopierproblem (aus der 1.Frage) beseitigt.
     
    Exl121150, 18. September 2009
    #8
Thema:

Beim Start der Tabelle in bestimmte Spalte/Zelle springen

Die Seite wird geladen...
  1. Beim Start der Tabelle in bestimmte Spalte/Zelle springen - Similar Threads - Start Tabelle bestimmte

  2. Zeitdauer berechnen Start/Ende in versch. Spalten

    in Microsoft Excel Hilfe
    Zeitdauer berechnen Start/Ende in versch. Spalten: hallo zusammen, Start und Ende eines Ereignisses stehen in unterschiedlichen Zeilen und ich möchte daraus mittels power query die Dauer je Ereignis in je einer Zeile berechnen. Habs mit...
  3. langsames schließen - neu starten

    in Microsoft Excel Hilfe
    langsames schließen - neu starten: Hallo Experten! Seit kurzem dauert das Schließen einer EXCEL-Datei extrem lange. Im Anschluß wird sie dann neu geöffnet. Wenn sie dann nach erneutem Schließen geöffnet wird, kommt die Meldung,...
  4. Letzten DS beim nächsten Start wieder anzeigen funktioniert nicht.

    in Microsoft Access Hilfe
    Letzten DS beim nächsten Start wieder anzeigen funktioniert nicht.: Hallo Ich möchte beim Schliessen einer Access-Anwendung den aktuellen DS den ich in dem Moment im Formular habe, speichern und beim erneuten Start der Anwendung wieder im Formular einstellen. Dazu...
  5. Makro aus personal.xls starten

    in Microsoft Excel Hilfe
    Makro aus personal.xls starten: Auf einem Arbeitsblatt habe ich mehrere Buttons. Die zugehörigen Makros sind in personal.xls gespeichert. Aus dem Code-Editor heraus kann ich die Makros ohne Problem starten. auf dem Arbeitsblatt...
  6. Workbook ohne Makros starten

    in Microsoft Excel Hilfe
    Workbook ohne Makros starten: Moin allerseits, wer das Thema liest, wird sich sicher fragen "und so etwas wird hier wieder aufgewärmt? Ist doch tausendfach im Netz beantwortet!?" Stimmt, denn der Tipp mit der...
  7. Von Textbox in Tabelle eintragen und neuer eintrag starten.

    in Microsoft Excel Hilfe
    Von Textbox in Tabelle eintragen und neuer eintrag starten.: Hallo zusammen Ich habe 9 Textboxen wo ich werte eintrage. Diese werte werden in einer Tabelle eingetragen z.B Lieferschein. Code: Sheets("Lieferschein").Range("B10") = TextBox3 Von Zeile 10...
  8. Arbeitsmappe immer mit einer bevorzugten Tabelle starten..

    in Microsoft Excel Hilfe
    Arbeitsmappe immer mit einer bevorzugten Tabelle starten..: Hallo , ich habe eine Frage an Euch. Wie kann ich meine Arbeitsmappe so einstellen daß diese immer mit einem vorher festgelegten Tabellenblatt startet. Momentan ist es so das immer das...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden