Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zelle merken und nach Makro wieder hin

Forumthread: Zelle merken und nach Makro wieder hin

Zelle merken und nach Makro wieder hin
10.10.2012 23:43:10
Franz
Guten Abend,
ich stehe vor einem großen Problem.
Ich habe eine Datei mit ca. 800 Zeilen. Dort nehme ich Änderungen vor. Anschliessend lasse ich ein Makro laufen, was kleine KOrrekuren vornimmt. Nach dem Makro ist der Cursor immer am Ende der Datei.
Nun würde ich gerne folgendes erreichen. Vor mein Korrekturmakro soll eine Abfage erfolgen, welche Zelle gerade markiert ist. Dann läuft mein Makro und anschliessend soll ein weiteres Makro mich genau wieder zu dieser Zelle führen und diese im BS sichtbar machen, so dass ich direkt weiterarbeiten kann.
Jemand einen Rat?
Franz

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle merken und nach Makro wieder hin
10.10.2012 23:47:55
{Boris}
Hi Franz,
a) ohne konkrete Kenntnis Deiner Mappe und Deines Makros wird es schwierig
b) weiterhin wird sich jemand mit VBA-Kenntnissen schwer zu einer Antwort hinreißen lassen, die offenbar den Gassi geführten Cursor wieder zu seinem Herrchen bringt - will sagen: mit Select zu arbeiten ist Aufgabe des Makrorecorders - aber nicht Ziel einer Antwort
Allgemein: Merke Dir zu Beginn des Makros die Position des "Cursors" (in einer Range- oder Stringvariablen). Die kannst Du am Ende dazu nutzen, um wieder dorthin zurückzukehren.
VG, Boris

Anzeige
AW: Zelle merken und nach Makro wieder hin
11.10.2012 00:10:47
Franz
Guten Abend Boris,
klar ist select nicht toll, aber man hilft sich halt mit Bordmitteln.
Trotzdem kann man hier und da was verbessern. Und da dieses Forum das beste Excel-Forum ist, kann man ja die Frage oder die Bitte mal los werden. Ich wüßte z.B. noch nicht einmal wie ich die Position des Cursors bestimmen kann.
Aber ich mache die Frage mal wieder offen. Vielleicht habe ich ja Glück und es gibt jemand, der mir unter die Arme greifen möchte.
Dir noch eine angenehme Nacht.
Franz

Anzeige
AW: Zelle merken und nach Makro wieder hin
11.10.2012 00:16:42
{Boris}
Hi Franz,
Vielleicht habe ich ja Glück und es gibt jemand, der mir unter die Arme greifen möchte.
Dir noch eine angenehme Nacht.

Da hast Du mich falsch verstanden.
Ich wüßte z.B. noch nicht einmal wie ich die Position des Cursors bestimmen kann.
Warum formulierst Du daraus nicht ein Rückfrage nach dem Motto:
Wie kann ich das denn bewerkstelligen?
Ist doch legitim - genau so legitim, wie ich (fälschlicherweise) vermutet habe, dass Du das hinbekommst.
Deklariere zu Beginn des Makros eine String-Variable:
Dim strFirstPostion As String
strFirstPostion = ActiveCell.Address
'Hier kommt dann Dein ganze Makro
'Und am Ende des Makros - also vor End Sub:
Range(strFirstPostion).Select
VG, Boris

Anzeige
AW: Zelle merken und nach Makro wieder hin
11.10.2012 10:33:42
Franz
Hallo Boris,
habe gestern nicht mehr mit einer Antwort gerechnet. Umso erfreuter war ich heute morgen.
Funktioniert bestens. Danke für Deine Hilfe!
Schönen Tag noch
Franz
Anzeige

Infobox / Tutorial

Zelle merken und nach Makro wieder hin


Schritt-für-Schritt-Anleitung

  1. Öffne dein Excel-Dokument und stelle sicher, dass du das Makro, das du anpassen möchtest, verfügbar hast.
  2. Starte den VBA-Editor mit ALT + F11.
  3. Finde dein Makro in der Liste der Module.
  4. Deklariere eine Variable zu Beginn des Makros, um die Position der aktiven Zelle zu speichern:
    Dim strFirstPosition As String
    strFirstPosition = ActiveCell.Address
  5. Führe deine Korrekturen im Makro durch.
  6. Setze den Cursor zurück zur ursprünglichen Zelle am Ende des Makros:
    Range(strFirstPosition).Select
  7. Speichere und schließe den VBA-Editor. Teste dein Makro, um sicherzustellen, dass der Cursor nach der Ausführung wieder zur ursprünglichen Zelle zurückkehrt.

Häufige Fehler und Lösungen

  • Fehler: Der Cursor bleibt am Ende der Datei.

    • Lösung: Stelle sicher, dass du die Adresse der aktiven Zelle korrekt speicherst, bevor das Korrekturmakro ausgeführt wird.
  • Fehler: Das Makro läuft nicht.

    • Lösung: Überprüfe die Syntax und stelle sicher, dass du das Makro korrekt im VBA-Editor gespeichert hast.

Alternative Methoden

Wenn du nicht mit VBA arbeiten möchtest, kannst du auch die folgenden Methoden in Betracht ziehen:

  • Verwendung von Excel-Formeln: Wenn du nur einfache Korrekturen durchführen möchtest, kannst du Excel-Formeln nutzen, um die gewünschten Daten zu bearbeiten, ohne ein Makro zu verwenden.
  • Tastenkombinationen: Nutze Excel-Tastenkombinationen wie CTRL + G, um schnell zu einer bestimmten Zelle zu navigieren.

Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du das Makro anpassen kannst:

Sub KorrekturMakro()
    Dim strFirstPosition As String
    strFirstPosition = ActiveCell.Address

    ' Deine Korrekturen hier
    ' Beispiel: ActiveCell.Value = ActiveCell.Value * 1.1 ' Erhöht den Wert um 10%

    Range(strFirstPosition).Select
End Sub

In diesem Beispiel wird der Wert der aktiven Zelle um 10% erhöht, und anschließend wird der Cursor zurück zur ursprünglichen Zelle gesetzt.


Tipps für Profis

  • Nutze Kommentare: Setze Kommentare in deinen VBA-Code, um die Lesbarkeit zu verbessern und den Code später einfacher zu verstehen.
  • Teste regelmäßig: Führe dein Makro regelmäßig aus, um sicherzustellen, dass alle Anpassungen wie gewünscht funktionieren.
  • Sichere deine Arbeit: Erstelle Backups deiner Excel-Datei, bevor du Änderungen an Makros vornimmst.

FAQ: Häufige Fragen

1. Frage
Wie kann ich sicherstellen, dass mein Makro funktioniert?
Antwort: Teste dein Makro in einer Kopie deiner Excel-Datei, um sicherzustellen, dass es die gewünschten Änderungen vornimmt, ohne die Originaldaten zu beeinträchtigen.

2. Frage
Was mache ich, wenn ich VBA nicht verstehe?
Antwort: Es gibt viele Tutorials und Ressourcen online, die dir helfen können, die Grundlagen von VBA zu lernen. Alternativ kannst du auch in Excel-Foren nach spezifischen Fragen fragen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige