Supportnet / Forum / Tabellenkalkulation
Macro Zelle überspringen
Frage
Hallo zusammen,
da ich im VBA nicht fitt bin, hoffe ich jemand kann mir mit ein paar Macros helfen.
Ich bräuchte zwei Macros.
1). Ein Macro das mir ermöglicht nach Zelleingabe und der darauffolgende Enter taste auf eine bestimmte Zelle zu springen.
Bsp. EINGABE A1 (Enter) => A3 (A2 übersprungen).
2). ein Macro dass das Fenster "Speichern unter" öffnet.
Dank euch im Voraus.
Antwort 1 von coros
Hallo Macroroockie,
Antwort zu 1.: Kopiere nachfolgenden Code in das VBA Projekt des Tabellenblattes, in dem wenn in Zelle A1 ein Eintrag gemacht wurde, automatisch auf Zelle A3 gesprungen werden soll.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 2 und 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort zu 1.: Kopiere nachfolgenden Code in das VBA Projekt des Tabellenblattes, in dem wenn in Zelle A1 ein Eintrag gemacht wurde, automatisch auf Zelle A3 gesprungen werden soll.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Address = "$A$1" Then Range("A3").Select
End Sub
Antwort zu 2.: Kopiere das Makro in ein StandardModul und starte es über eine Befehlsschaltfläche.Option Explicit
Sub Speichern_unter()
Dim Dateiname
Dateiname = Application.GetSaveAsFilename
If Dateiname = False Then Exit Sub
ActiveWorkbook.SaveAs Filename:=Dateiname
End Sub
Ich hoffe, Du kommst klar. Bei Fragen melde Dich bitte.Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 2 und 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von Macroroockie
Hallo Corso,
danke für die Macros. Sie funktionieren.
Allerdings brauche ich den "Teil1" Macro insgesamt 4 mal in der selben Datei.
Als ich aber das Macro vier mal kopiert habe und die Angaben der Zielzellen entsprechend geändert habe, sagte das VBA "Fehler beim kompilieren" "Mehrdeutiger Name: Worcksheed Change". Daraufhin habe ich die Namen auf Worcksheed1, 2 usw. geändert, klappt aber trotzdem nicht. Was mache ich falsch???
Gruss
Oliver
danke für die Macros. Sie funktionieren.
Allerdings brauche ich den "Teil1" Macro insgesamt 4 mal in der selben Datei.
Als ich aber das Macro vier mal kopiert habe und die Angaben der Zielzellen entsprechend geändert habe, sagte das VBA "Fehler beim kompilieren" "Mehrdeutiger Name: Worcksheed Change". Daraufhin habe ich die Namen auf Worcksheed1, 2 usw. geändert, klappt aber trotzdem nicht. Was mache ich falsch???
Gruss
Oliver
Antwort 3 von coros
Hallo Namensvetter Oliver!
Wenn Du den Code zu Antwort 1 4x, sprich für jedes Blatt, benötigst, dann darf der Code nicht in dem VBA Projekt eines Tabellenblattes stehen, sondern den kopierten Code, musst Du in jedes VBA Projekt eines jeden Tabellenblattes kopieren. Wenn Du den Code zu Antwort 1 vier mal in einem Tabellenblatt benötigst, damit Du bei vier verschiedenen Zellen nach dem betätigen der Entertaste um jeweils eine Zeile weiter zu springen, dann darf nur die Zeile
If Target.Cells.Address = "$A$1" Then Range("A3").Select
kopiert werden und muss dann eine Zeile nach dem Befehl wieder eingefügt werden. Sprich der Code würde dann folgendermaßen aussehen:
Hier wird nach A1 Zelle A2, nach B1 Zelle B2, nach Zelle C1 Zelle C3 und nach D1 Zelle D3 angesprungen.
Ich hoffe, Du hast das verstanden. Wenn nicht, dann melde Dich bitte wieder.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Wenn Du den Code zu Antwort 1 4x, sprich für jedes Blatt, benötigst, dann darf der Code nicht in dem VBA Projekt eines Tabellenblattes stehen, sondern den kopierten Code, musst Du in jedes VBA Projekt eines jeden Tabellenblattes kopieren. Wenn Du den Code zu Antwort 1 vier mal in einem Tabellenblatt benötigst, damit Du bei vier verschiedenen Zellen nach dem betätigen der Entertaste um jeweils eine Zeile weiter zu springen, dann darf nur die Zeile
If Target.Cells.Address = "$A$1" Then Range("A3").Select
kopiert werden und muss dann eine Zeile nach dem Befehl wieder eingefügt werden. Sprich der Code würde dann folgendermaßen aussehen:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Address = "$A$1" Then Range("A3").Select
If Target.Cells.Address = "$B$1" Then Range("B3").Select
If Target.Cells.Address = "$C$1" Then Range("C3").Select
If Target.Cells.Address = "$D$1" Then Range("D3").Select
End Sub Hier wird nach A1 Zelle A2, nach B1 Zelle B2, nach Zelle C1 Zelle C3 und nach D1 Zelle D3 angesprungen.
Ich hoffe, Du hast das verstanden. Wenn nicht, dann melde Dich bitte wieder.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 4 von Macroroockie
Hallo Corso,
du bist ein Ass. Jetzt macht das Excel endlich das was ich mir vorgestellt habe.
Vieleicht hast du ein Buchtipp für mich, wie ich von 0 richtung Profi das VBA lernen kann.
Nochmals ein großes Dankeschön für die Hilfe, leider werde ich mich nicht so schnell revangieren können, da deine Kenntnisse meine weit übersteigen.
Gruss
Oliver
du bist ein Ass. Jetzt macht das Excel endlich das was ich mir vorgestellt habe.
Vieleicht hast du ein Buchtipp für mich, wie ich von 0 richtung Profi das VBA lernen kann.
Nochmals ein großes Dankeschön für die Hilfe, leider werde ich mich nicht so schnell revangieren können, da deine Kenntnisse meine weit übersteigen.
Gruss
Oliver
Antwort 5 von coros
Hi Oliver,
danke Dir für die Rückmeldung.
Sorry, einen Buchtip habe ich leider nicht für Dich, da ich selber kein Buch über VBA bzw. Excel besitze. Ich bin, was VBA angeht, durch meine Arbeit vorbelastet, da ich dort in Visual Basic programmiere. Den Rest für VBA habe ich mir selber durch Learning by doing beigebracht.
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
danke Dir für die Rückmeldung.
Sorry, einen Buchtip habe ich leider nicht für Dich, da ich selber kein Buch über VBA bzw. Excel besitze. Ich bin, was VBA angeht, durch meine Arbeit vorbelastet, da ich dort in Visual Basic programmiere. Den Rest für VBA habe ich mir selber durch Learning by doing beigebracht.
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort 6 von Macroroockie
Hallo Oliver,
habe noch eine kurze Frage zu 2. Kann man das "Speichern unter" Fenster gleich ohne den Dateinamen haben, also leer?. Das Macro von dir funktioniert einwandfrei, jedoch steht der Dateiname als Speicheroption, was mir nicht so gefällt.
Währe super wenn du dafür eine Lösung hättest.
Nebenbei, hast du ev. Formeln für CP / CPK Berechnung?.
Gruss
Oliver
habe noch eine kurze Frage zu 2. Kann man das "Speichern unter" Fenster gleich ohne den Dateinamen haben, also leer?. Das Macro von dir funktioniert einwandfrei, jedoch steht der Dateiname als Speicheroption, was mir nicht so gefällt.
Währe super wenn du dafür eine Lösung hättest.
Nebenbei, hast du ev. Formeln für CP / CPK Berechnung?.
Gruss
Oliver

