Welche Befehle gibt es in Visual-Basic (Excel) für die Tastenbefehle -links-, -rechts-, -copy- und -paste-?

... komplette Frage anzeigen

5 Antworten

Wenn die aktuelle Zeit als fixer Wert (also nicht veränderlich wie JETZT()) eingefügt werden soll, kannst du das mit Strg + Shift + . (Punkt) machen. Der zusätzliche Klick bzw. Pfeiltastendruck um die Zielzelle zu aktivieren, scheint mir jetzt nicht so aufwändig.

Antwort bewerten Vielen Dank für Deine Bewertung

Das löst man in der Regel nicht über Tasten sondern so:

Dim start As Range
Set start = Range("C3")
start.Offset(0, -1) = start 'linker Nachbar
start.Offset(0, 1) = start 'rechter Nachbar
start.Offset(-1, 0) = start 'oberer Nachbar
start.Offset(1, 0) = start 'unterer Nachbar
'Kopieren und einfügen:
start.Copy Range("A1") ' nach A1 kopieren
start.Copy ActiveCell 'in die aktive Zelle kopieren

Hilft Dir das weiter?

Antwort bewerten Vielen Dank für Deine Bewertung

Range("A1").offset(1,3).value = Range("A1").value

(auch ohne .value, möglich, da das Standardargument ist) schreibt Den Wert von A1 nach D2, ohne Copy/paste. Offset(±Zeilenversatz, ±Spaltenversatz)

Wenn das nicht geht, dann Range("A1").copy destination:=Range("D2")

i'wie gehts auch ohne das Wort destination, müsste ich selbst erst wieder ausprobieren, kannst DU auch. (sehe grade, das hat Oubyi schon formuliert)

  • oder Cells(1, 1).copy
  • Cells(2, 4).paste
  • (das nimmt auch Formate mit)

Daneben gibts auch noch .Pastespecial(xlvalues) und xlformats und xlcomments (macht manchmal bei Kopie nach anderem Blatt weniger Probleme als Paste alleine. Kann aber sein, dass der Bug inzwischen behoben ist.

Antwort bewerten Vielen Dank für Deine Bewertung

Strg+C und Strg+V lassen sich per Makro aufzeichnen (Selection.Copy bzw. ActiveSheet.Paste).

Ändern der ausgewählten Zelle in Einzelschritten per

Cells(Selection.Row, Selection.Column - 1).Select
Cells(Selection.Row - 1, Selection.Column).Select

 etc., hier muss aber noch sichergestellt werden, dass man nicht aus dem Zellbereich der Tabelle herauskommt, insbesondere wenn Row oder Column den Wert 0 erhalten.

Antwort bewerten Vielen Dank für Deine Bewertung

in VBA kannst Du die Zellen direkt ansteuern, nicht mit Pfeiltasten dorthin navigieren. Wenn Du einen Wert von A10 nach A1 übernehmen willst:
cells(1,1).value=cells(10,1).value
Bei diesem konkreten Fall entfällt damit auch das Kopieren und Einfügen

Noch direkter: Schreib die Zeit mit VBA direkt in die Zelle
cells(1,1).value=now()


Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von gnuman79
16.02.2016, 13:31

das wollte ich doch nicht wissen. Ich brauche "relative" Adresse! Ich bestimmte die Zelle, und das Makro soll den Inhalt aus einer benachbarten Zelle kopieren und als "Wert" in die von mir ausgewählte Zelle einfügen.

0

Was möchtest Du wissen?