Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
316to320
316to320
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wert per VBA in mehrere andere Zellen übernehmen?

Wert per VBA in mehrere andere Zellen übernehmen?
06.10.2003 12:24:08
dfluess
Hallo,

ich möchte mehrere Zellen mit Inhalt aus einer Zelle (z.B. A1) automatisch nach der Eingabe des Wertes füllen. Leider ist das nachträgliche Editieren der gefüllten Zellen wie unten angewendet dann nicht möglich.

Wie muss ich "Private Sub" Ändern, damit die Werte nur bei Eingabe übernommen werden?

DANKE!


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("B2,B4,C9,F13") = Range("A1")
End Sub

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert per VBA in mehrere andere Zellen übernehmen?
06.10.2003 12:27:55
Nike
Hi,


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 And Target.Column = 1 Then
Range("B2,B4,C9,F13") = Target
End If
End Sub


Bye

Nike
AW: Wert per VBA in mehrere andere Zellen übernehmen?
06.10.2003 12:36:54
Dfluess
So einfach!
:-) Danke es funktioniert.
AW: Wert per VBA in mehrere andere Zellen übernehmen?
06.10.2003 12:49:24
DFluess
In diesem Sinne..
geht das auch zeilenweise?

Ich möchte den Inhalt aus der Zelle A1 _in die jeweils nächste Zeile_ nur dann einfügen, wenn ein Wert in einer Zelle der vorherigen Zeile eingegeben wurde.
geht das auch?
Oder noch besser: kann man den Zelleninhalt der aktuellen Zelle in die jeweils nächste Zeile nach o.g. Bedingung kopieren lassen?
Anzeige
AW: Wert per VBA in mehrere andere Zellen übernehmen?
06.10.2003 13:25:13
Nike
Hi,
klar, kopieren kannst du soviel du willst...
Ich weiß nur nicht, welche Bedingung du jetzt meinst.

Bye

Nike
AW: Wert per VBA in mehrere andere Zellen übernehmen?
06.10.2003 13:37:38
DFluess
Also:
Der Wert (Formel oder Zahl) aus A1 soll nur dann in die nächste Zeile (A2) kopiert werden, wenn in B1 ein Wert eingetragen ist... und weiter A2 nur nach A3 wenn B2 ein Wert hat u.s.w.

geht das?
AW: Na klar ;-)
06.10.2003 13:52:31
Nike
Hi,

das geht alles, man muß nur erst mal
aus der Beschreibung schlau werden ;-)


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Offset(0, 1) <> "" Then
Application.EnableEvents = False
Target.Copy Target.Offset(1, 0)
Application.EnableEvents = True
End If
End Sub


Bye

Nike
Anzeige
AW: Na klar ;-)
06.10.2003 14:09:08
DFluess
Das geht ja schon ganz gut, aber noch nicht ganz wie ich wollte.
Ich drücke ich mich mal wieder ungeschickt aus sorry :)

Ich möchte den Wert aus A1 nach A2 kopieren lassen, wenn in B1 ein Wert steht und ich in die nächste Zeile wechsele.
Es soll also immer der in der letzt stehenden Zeile eingetragene Wert in Spalte A in die nächste Zeile weiterkopiert werden, sobald ich in Spalte B die Eingabe abschließe.

geht das auch?
AW: wie jetzt?
06.10.2003 14:29:11
Nike
hi,
wie willst du's denn jetzt haben?
Erst so rum, jetzt anders rum?


Private Sub Worksheet_Change(ByVal Target As Range)
if traget.column = 2 then
If Target <> "" Then
Application.EnableEvents = False
Target.Offset(0, -1).Copy Target.Offset(1, -1)
Application.EnableEvents = True
End If
End Sub


Bye

Nike
Anzeige
AW: wie jetzt?
06.10.2003 14:49:05
DFluess
Ok, so klappt's Daaanke! :-)

allerdings musste ich die Zeile
"if traget.column = 2 then" rausnehmen
und einen Fehler mit "On Error GoSub next" abfangen der entstand, sobald ich manuell das zu kopierende Feld ändern wollte.

Was soll die Zeile "if traget.column = 2 then" bewirken?
AW: wie jetzt?
06.10.2003 15:06:10
DFLuess
Aha deshalb :-(
Die Prozedur sollte schon auf diese zwei Spalten beschränkt sein. Leider bekomme ich aber nur Laufzeitfehler mit dem Code..

Kannst Du bitte nochmal schauen?
AW: wo jetzt?
06.10.2003 15:17:22
Nike
Hi,
wo soll ich denn jetzt schauen?
Durch das Target = 2 wurde das eingeschränkt,
das nur Änderungen in Spalte B berücksichtigt werden...

Bye

Nike
Anzeige
AW: wo jetzt?
06.10.2003 15:28:43
DFLuess
Will ja nicht nerven aber Dein Code funzt nicht!
Ich habe wenig Erfahrungen mit VBA und kann deshalb auch nicht sehen, warum Dein Code nicht funktioniert. Ich bin doch nur ein Webdesigner und kein Excel-Profi :-(

...habe aber noch etwas gefunden was so funktioniert wie ich mir vorstelle. Leider ist in dem u.g Beispiel aber Spalte A mit Spalte B vertauscht.
Ich möchte in Spalte B die Eingabe machen und Spalte A Soll dann kopiert werden. Wie kann ich denn das nur umdrehen?


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
If IsEmpty(Target) Then Exit Sub
On Error GoTo ERRORHANDLER
Application.EnableEvents = False
Range(Cells(Target.Row - 1, 2), Cells(Target.Row - 1, 256)).Copy _
Range(Cells(Target.Row, 2), Cells(Target.Row, 256))
Application.CutCopyMode = False
ERRORHANDLER:
Application.EnableEvents = True
End Sub

Anzeige
AW: wo jetzt?
06.10.2003 16:25:17
Nike
Hi,


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 2 Then Exit Sub
If IsEmpty(Target) Then Exit Sub
On Error GoTo ERRORHANDLER
Application.EnableEvents = False
Cells(Target.Row - 1, 1).Copy _
Cells(Target.Row, 1)
Application.CutCopyMode = False
ERRORHANDLER:
Application.EnableEvents = True
End Sub


Also wenn's das nicht ich muß ich echt passen...

Bye

Nike

400 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige