Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1112to1116
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Entervarianten

Entervarianten
Karsten
Hallo,
wenn ich etwas kopiert habe und in einer anderen Zelle Enter drücke, bekommt die Zelle das Kopierte.
Läßt es sich so konfigurieren, dass gleich der nächste Schritt kommt, also gleich "Application.MoveAfterReturnDirection = xlDown" ausgeführt wird?
Danke für eure Hilfe.
Gruß
Karsten
AW: Entervarianten
08.11.2009 00:31:01
IngGi
Hallo Karsten,
da fällt mir nur die Möglichkeit ein, das Changeereignis abzufangen. In's Modul des betreffenden Tabellenblattes:
Private Sub Worksheet_Change(ByVal Target As Range)
Selection.Offset(1, 0).Select
End Sub
Gruß Ingolf
AW: Entervarianten
08.11.2009 02:51:57
Karsten
Hallo IngGi
danke, aber es funktioniert nicht.
Gruß
Karsten
AW: Entervarianten
08.11.2009 08:06:43
Original
Hi,
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = 0
Target.Offset(1, 0).Activate
Application.EnableEvents = -1
End Sub
mfg Kurt
Nachfrage: wg. EnableEvents = -1
08.11.2009 08:31:48
Matthias
Hallo Kurt
Warum benutzt Du Application.EnableEvents = -1 ?
Also Application.EnableEvents=False/True ist mir schon klar, aber
hat das "minus" einen Hintergrund ?
und
eigentlich müsste doch ... (wie es Ingolf vorgeschlagen hat)
Selection.Offset(1, 0).Select (natürl. EnableEvents=False/True mit eingebaut)
... auch klappen.
Gruß Matthias
Anzeige
AW: Nachfrage: wg. EnableEvents = -1
08.11.2009 20:09:09
IngGi
Hallo Matthias & Kurt,
warum die Ereignisse abschalten? Durch den Zellwechsel wird das Change-Ereignis doch gar nicht ausgelöst? (Es geht hier nicht um das SelectionChange-Ereignis)
Gruß Ingolf
AW: Entervarianten
08.11.2009 08:57:45
Karsten
Hallo Kurt,
danke, aber zuvor Kopiertes wird bei Enter immer noch in die Zelle gefüllt.
Wenn ich deinen Befehl mit F8 schrittweise ausführe, wird schon bei:
Private Sub Worksheet_Change(ByVal Target As Range) eingefügt. Alles drunter stehende ist wohl daher nicht mehr relevant.
Vielleicht sollte im Makro drinn stehn, dass das Eingefügte gelöscht wird und das, was vorhehr drin stand kopiert wird und bei Enter wieder eingefügt wird. Bloß wie...
Gruß
Karsten
Anzeige
kannst Du Deine Frage mal bitte klar definieren ?
08.11.2009 09:18:16
Matthias
Hallo Karsten
Anscheinend weiß hier niemand so ganau was Du möchtest.
als Bsp.
Du kopierst A1 und setzt dann den Cursor in B1 und beim Drücken von Enter
wird das Kopierte in diese Zelle(B1) geschrieben - Das soll doch so sein ? Oder?
Nun willst Du eine Zelle nach unten springen. Also nach B2, Richtig?
Anscheinend willst Du aber doch was anderes.
Beschreib doch nochmal etwas genauer was passieren soll.
Gruß Matthias
AW: kannst Du Deine Frage mal bitte klar definieren ?
08.11.2009 10:56:30
Karsten
Hallo Matthias
"Du kopierst A1 und setzt dann den Cursor in B1 und beim Drücken von Enter
wird das Kopierte in diese Zelle(B1) geschrieben - Das soll doch so sein ? Oder?"
Nein. Das Einfügen soll eben nicht passieren. Das kann ich, wenn ich möchte, mit Strg+C machen.
Gruß
Karsten
Anzeige
was willst Du denn ?
08.11.2009 11:35:46
Matthias
Hallo
Zitat:
Nein. Das Einfügen soll eben nicht passieren. Das kann ich, wenn ich möchte, mit Strg+C machen. ?
Mit Strg+C wird aber nicht eingefügt, sondern kopiert
Ich weiß jedenfalls immer noch nicht was Du willst.
Gruß Matthias
AW: was willst Du denn ?
08.11.2009 11:57:35
Karsten
Hallo Matthias,
Ups. Ich meine natürlich mit Strg+V.
Die Zelle von der ich mit Enter wegkommen will, ist gefüllt und wird durch einen Makro angesteuert. Mit Enter will ich nur eine Zelle nach unten kommen, was natürlich auch mit Pfeil nach unten geht ( aber bei Mini-Laptop etwas unbequem). Da vorher kopiert wurde, wird der Zellinhalt ausgetauscht, was ich natürlich vermeiden will. Außerdem vergesse ich manchmal, daß ausgetauscht wird und merke es nicht mal (jedenfalls nicht gleich)
Gruß
Karsten
Anzeige
AW: was willst Du denn ?
08.11.2009 12:13:13
Original
Hi,
wenn du die Zelle per Code ansteuerst, stell im Code sicher, dass sie nur angesteuert wird,
wenn sie leer ist.
mfg Kurt
AW: was willst Du denn ?
08.11.2009 15:53:47
Karsten
Hallo Kurt,
Die Zelle muss angesteuert werden, egal ob mit oder ohne Inhalt. Sonst macht meine ganze Datei keinen Sinn.
Das Problem ist, dass man in den
"Private Sub Worksheet_Change(ByVal Target As Range)" hineinschreiben kann, was man will. Bevor der erste Befehl erreicht ist, ist die Zelle vollgefüllt, wenn was in der Zwischenablage ist. Die Excelentwickler haben es damit ziemlich gut gemeint.
Gruß
Karsten
AW: was willst Du denn ?
08.11.2009 18:10:22
IngGi
Hallo Karsten,
wenn das Kopieren ebenfalls per Makrocode geschieht, könntest du, statt den Zellbereich per Copy in die Zwischenablage zu kopieren, diesen per Set in eine Rangevariable kopieren. Und um sicherzustellen, dass die Zwischenablage dann auch wirklich leer und nicht von einem vorangegangenen Kopiervorgang noch belegt ist, fügst du noch ein Application.CutCopyMode = False ein. Nun wird beim Drücken der Entertaste nichts mehr eingefügt. Und um den kopierten Inhalt in die aktive Zelle einzufügen, verwendest du dann an Stelle von Strg+V einfach eine andere Tastenkombination Strg+?, der du ein Makro zuweist, in dem der Inhalt der Rangevariablen in die aktive Zelle eingefügt wird.
Gruß Ingolf
Anzeige
AW: was willst Du denn ?
08.11.2009 19:41:35
Karsten
Hallo Ingolf,
ja, hatte ich auch schon gedacht, aber so richtig gefällt mir das nicht.
Gruß
Karsten
AW: was willst Du denn ?
08.11.2009 20:11:24
IngGi
Hallo Karsten,
dann muss ich leider passen.
Gruß Ingolf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige