2.6k Aufrufe
Gefragt in Tabellenkalkulation von rheym Einsteiger_in (91 Punkte)
Hallo,

ich würde gerne einen beliebigen Wert in mehrere, gerne auch voneinander getrennte Zellen einfügen. Wenn ich aber mehrere Zellen markiere und dann einen Wert einfüge, steht der Wert nur in der ersten Zelle. Gibt es eine Funktion oder Tastenkombination, die es mir möglicht macht, dass der Wert in allen Zellen steht (ohne Kopieren)?

vielen Dank

Richard

11 Antworten

0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo Richard,

glaube ich ist nur mit VBA realisierbar. Zumindest fällt mir im Moment nichts anderes ein.

Mit nachfolgendem Code wird immer der Wert, der in der ersten Zelle auf der linken Seite oben der Markierung eingetragen wird, auf alle Zellen der markierung kopiert.

Kopiere das Makro in das VBA-Projekt des Tabellenblatts, in dem er wirken soll.
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngCell As Range
On Error GoTo ERRORHANDLER
Application.EnableEvents = False
For Each rngCell In Selection
rngCell = Selection.Cells(1, 1)
Next
ERRORHANDLER:
Application.EnableEvents = True
End Sub
Ich hoffe, Du kommst klar.

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 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

Bei Fragen melde Dich.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von rheym Einsteiger_in (91 Punkte)
Hallo Oliver,

vielen Dank für Deine schnelle Antwort. Ich dachte, dass es eine Tastenkombination gibt, mit der man sowas machen kann, ich werd mich aber mal an das Makro setzen und sehen, ob es hinhaut, wird aber etwas dauern

vielen Dank und viele Grüße

Richard
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo Richard,

wie bereits geschrieben, kenne ich keine andere Möglichkeit dies zu realisieren. Aber ich bin ja auch nicht allwissend. Eventuell kennt ja noch jemand eine andere Möglichkeit.
Solltest Du mit meiner Lösung nicht klar kommen, so habe ich Dir mal eine Beispieldatei erstellt, die Du Dir unter http://excelbeispiele.de/clicktracker/clicktracker.php?id=649 herunterladen kannst.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von
Hi,

@Coros
Die Nummer funktioniert so aber nur, wenn man einen zusammenhängenden Zellbreich markiert. Und dann auch nur, wenn man dabei links oben beginnt.

Abhilfe (z.B. für verteilt markierte Zellen (Strg+Mausklick)) will mir selbst aber noch nicht einfallen.

Bye
malSchauen
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo malSchauen,

das funktioniert auch mit mehreren markierten Bereichen. Die Eingabe muss aber immer in der linken oberen Zelle des markierten Bereichs, der am dichtesten an Spalte A und Zeile 1 ist, erfolgen.
Markiert man nur einen Bereich, erfolgt die Eingabe der linken oberen Zelle von alleine, da Excel immer dort anfängt.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von
Hi,

@Coros
... erfolgt die Eingabe der linken oberen Zelle von alleine,...

Das verhält sich bei meinem Excel 2007 irgendwie anders.
-Ich selektiere C10 mit der Maus
-Ich halte die linke Maustaste gedrückt und ziehe den Cursor nach A1
-nun lasse ich die Maustaste los und fange an zu tippen
=> Eingabe erfolgt bei mir in C10

Habe ich nun das Macro im Change-Ereignis aktiv, ist nach dem Druck auf Enter der markierte Bereich leer. (Was in diesem Fall auch logisch ist.)

Ich würde daher die Zeile
rngCell = Selection.Cells(1, 1)
in der For-Schleife in
rngCell = Cells(Target.Row, Target.Column)
ändern wollen.

Bye
malSchauen
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo malSchaen,

jep, da hast Du wohl recht. Ich habe das in der Beispieldatei geändert und Deinen Vorschlag eingesetzt.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von
Hi,

@Coros
Dann ändere die Beispieldatei doch gleich noch einmal. ;-)
Leider tritt mit meiner Änderung ein klitzekleines Problem auf:
Selektiere eine einzige Zelle und schliesse eine beliebige Eingabe mit Enter ab. (Schon steht der Wert auch in einer nächsten Zelle.)

Abhilfe:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngCell As Range
If Selection.Count > 1 Then
On Error GoTo ERRORHANDLER
Application.EnableEvents = False
For Each rngCell In Selection
rngCell = Cells(Target.Row, Target.Column)
Next
ERRORHANDLER:
Application.EnableEvents = True
End If
End Sub


Ich hoffe, dass wir nun nichts mehr übersehen haben.

Bye
malSchauen
0 Punkte
Beantwortet von
Hi,

Je mehr ich damit rumspiele, desto mehr Nachteile tauchen auf:

Mit diesem Macro im Change-Ereignis ist es auf dem betroffenen Tabellenblatt z.B. nicht mehr möglich Zahlenreihen und/oder Formeln "nach unten zu ziehen". Wenn es im speziellen Fall bei rheym nichts ausmacht, dann ist das OK, ich wollte es aber nicht unerwähnt lassen.

Bye
malSchauen
0 Punkte
Beantwortet von
Hi,

Nun habe ich mich heute Abend nochmal damit befasst, um den Nachteil mit den "nicht mehr herunterziehbaren" Formeln/Zahlenreihen anzugehen. Und siehe da, mit einer Kombination aus Macro-Autostart (für das Abfangen von Tastenkombinationen (mittels OnKey-Methode)), dem Change-Ereignis (um dort das "Target" abzugreifen und zwischenzuspeichern) und dem Macro aus #8 in einem StandardModul ist mir das (zumindest zu meiner eigenen Zufriedenheit) auch gelungen.
Zum Abschluß wollte ich dann eine "aussagekräftige" Tastenkombination heraussuchen, um die onKey-Methode damit zu füttern. Am liebsten wäre mir dabei natürlich eine gewesen, in der die Enter-Taste enthalten ist (z.B. Strg+Alt+Enter). Bei der Suche in der Liste der Exceltastenkombination (um vorbelegte Kombinationen, wie Strg+Shift+Enter, nicht zu deaktivieren) finde ich dann was heraus? Richtig, Excel bietet die von Richard (rheym) gesuchte Funktionalität von Haus aus an:

-beliebige Zellen, Zellbereiche wie gewohnt markieren
-Eingabe tätigen
-Eingabe mittels Strg+Enter abschließen

Bye
malSchauen
(der wieder was gelernt hat...)
...