Zelleninhalt mit Makro/ Vba verschieben
Moin,
ich hab folgendes Problem, und zwar möchte ich eine Makrofunktion erstellen mit der man den Zellinhalt einer markierten Zelle in eine andere frei wählbare Zelle kopieren kann. Bis jetzt sieht meine Funktion so aus:
Sub Makro()
Dim Quellbereich As Range Set Quellbereich = ActiveCell
Quellbereich.Copy Range("C1").Select Selection.PasteSpecial Paste:=x1Values, Operation:=x1None, SkipBlanks:= False, Transpose:=False Application.Cutcopymode = False Quellbereich.Select Quellbereich = "" Range("C1").Select
End Sub
Jetzt ist meine Frage, wie ich "Range("C1") auch über die Auswahl mit der Maus steuern kann. Ich stell mir das mit Pause/Wait und Input neue Zellenauswahl oder so vor. Evnt. auch das man das Makro wie bisher über Strg+y startet und anschließend die Quell und die Zielzelle nach einander markiert.
2 Antworten
Du musst dich im Makro halt nur auf "Selection" beziehen (und im Makro selbst kein "Select" machen), dann wird halt das Selektierte als Ausgangsbereich genommen.
Gruß Ragnar
Das heißt dann wohl vor allem: Kauf dir ein gutes Buch und arbeite dich in VBA ein - das Excel-Objektmodell lässt sich nicht in 3 Sätzen erklären.
Gruß Ragnar
damit Du erst mal weiter üben kannst:
der VBA-Befehl für die Einzelzelle anstatt .Range("..")ist entweder
.ActiveCell
oder
.Selection
Selection kann einen beliebigen Bereich umfassen, activecell kann auch die aktive Zelle in einer größeren Selection sein (wenn Du also einen Bereich markierst, zunächst die erste Zelle, bei jedem Enter verschiebt sich die aber eins nach unten.)
Die Kopie eines Wertes aus der aktiven Zelle nach zwei drunter und eins daneben heißt:
.activecell.offset(2,1).value = Activecell.value
über .value hinaus kannst Du auch .Formula oder .Formulalocal verwenden, aber da musst Du jetzt selbst weiterspielen, sonst wirds endlos. Ich denke, Du hast jetzt erst mal was zum Üben.
Trotzdem: kauf Dir ein gutes Buch, Du wirst nie gut ohne! (ich hab mich mal an Kofler gehalten, aber das war vor über 10 Jahren... Gibt sicher auch was in der Bibliothek! Dann aber Heft führen, nicht nur in Datei notieren, hab ich auch mal gemeint und schlechte Erfahrungen damit gemacht)
Das mit Quell- UND Zielzelle ist im Moment noch etwas schwierig für Dich, geht aber später. Musst nur genau definieren, wohin (relativ?)
Ok und das heißt für einen absoluten Neuling in Vba was? :-)