25.5k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo!

Beim Versuch mittels Kopierfunktion mehrere Zellen anzuklicken und zu kopieren (mit Strg-Taste) funktioniert das nur, wenn die Zellen angrenzend sind, ansonsten kommt die Mitteilung "Bei der Markierung von nicht-angrenzenden Zellen ist die Ausführung dieses Befehls nicht möglich".
Daher meine Frage gibt es eine Möglichkeit mehrere Zellen auch nicht angrenzende zu kopieren und in eine andere Tabelle einzufügen, wenn geht untereinander in einer Spalte (muß aber nicht sein).

Für Vorschläge und Tipps bedanke ich mich im Voraus!!!

schöne Grüße

Paul1

9 Antworten

0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

habe versucht dein Problem nachzuvollziehen, aber bei mir gehtes.

Die Zellen zum Kopieren markieren, kopieren.

Die vorgesehenen Zielzellen mit gedrückter "STRG"-Taste markieren und dann einfügen

Sonst das Problem mal genauer erläutern

Gruß

Helmut
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi paul :-)

das ist mit allen excel versionen nicht möglich :-)

bei excel 2000 ist es nicht möglich :-)

weiter abwaerts auch nicht :-)

aufwaerts bin ich ueberfragt :-))

gruss nighty
0 Punkte
Beantwortet von
Hallo Helmut und nighty!

Besten Dank für die prompten Antworten und für die Mühe.

Ich verwende MS Office 2003, es geht nicht so wie ich es mir vorstelle.
Da muß ich mir was anderes einfallen lassen (nach der Fußball WM)



herzliche Grüße

Paul1
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Paul,

ist z.B. möglich mit dem folgenden Code:
Sub KopierenDiskontinuierlich()
Dim lngZeile As Long
Dim rngZelle As Range
lngZeile = 1
For Each rngZelle In Selection
Cells(lngZeile, 10) = rngZelle
lngZeile = lngZeile + 1
Next rngZelle
End Sub

Bis später,
Karin
0 Punkte
Beantwortet von
Hallo Karin!

Danke für Deine Antwort, aber leider habe ich noch keine Ahnung von VBA (ich habe erst begonnen mich dafür zu interessieren) noch weiß ich mir etwas anzufangen.
Selbst wenn ich die Formel kopiere, wo muß ich sie einfügen, damit das ganze funktioniert.

In dem Fall geht es um 2 Tabellen, wobei in der Tabelle 1 Zellen mit Inhalten durcheinander placiert sind, welche dann in Tabelle 2 in einem Arbeitsgang eingefügt werden sollten, am besten geordnet untereinander in einer Spalte (ist aber nicht zwingend).

Mit Formeln kann ich arbeiten (natürlich auch nicht mit allen), aber bei Makros, VBA etc.stehe ich noch bei Adam und Eva, daher kann ich Dir leider nicht berichten, ob die Lösung des Problemes mit Deiner Formel gelungen ist.

herzliche Grüße

Paul1
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Paul,

mache einen Rechtsklick auf den Tabellenreiter -> Code anzeigen - auf diesem Weg gelangst du auf einfache Weise in den VBA-Editor. Gehe dann in der dortigen Symbolleiste auf Einfügen -> Modul und kopiere den Code in das rechte (obere) Codefenster des eingefügten Moduls. Schließe dann den VBA-Editor. Im Tabellenblatt kannst du dann über Extras -> Makro -> Makro dieses Makro auswählen und ausführen. Damit werden die (von Hand) selektierten Zellen untereinander in Spalte J (10) geschrieben.
Da die Ausgabe in einem anderen Tabellenblatt erfolgen soll, musst du den Code noch ein klein wenig ändern:
Worksheets("Tabelle2").Cells(lngZeile, 10) = rngZelle

Bis später,
Karin
0 Punkte
Beantwortet von
Hallo Karin!

Vor Allem für Deine super Antwort mit der genauen Erklärung wie ich den Code einfügen muß bedanke ich mich ganz besonders.

Außerdem hat es auch bestens funktioniert, so wie Du es beschriieben hast.

Die Abänderung des Codes, damit es in Tabelle 2 zu sehen ist, stelle ich mir so vor:

Sub KopierenDiskontinuierlich()
Dim lngZeile As Long
Dim rngZelle As Range
lngZeile = 1
For Each rngZelle In Selection
Worksheets("Tabelle2").Cells(lngZeile, 10) = rngZelle
lngZeile = lngZeile + 1
Next rngZelle
End Sub

Auch das funktioniert bestens, habs gerade getestet.

Was mir aufgefallen ist, ich brauche die Zellen in Tabelle 1 nur mit gedrückter Strg-Taste markieren und nicht kopieren.

Das war die Lösung!!!

Nochmals vielen Dank für die zielführende Antwort und die damit verbundene Mühe.

herzliche Grüße

Paul1
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Paul,

das ist richtig - du musst nicht kopieren, sondern einfach nur markieren (bzw. selektieren). Im Code besagt die Zeile
For Each rngZelle In Selection

sinngemäß: laufe über alle Zellen des markierten (selektierten) Bereichs.

Bis später,
Karin
0 Punkte
Beantwortet von
Hallo Karin!

Deine Antwort war natürlich eine Komplettlösung, nur ich bin im Nachhinein durch Zufall draufgekommen, dass markieren genügt, zumal ich mich mit VBA überhaupt nicht auskenne.

Aber jetzt hast Du mich ja aufgeklärt.

Nochmals vielen Dank

Paul1
...