3.3k Aufrufe
Gefragt in Tabellenkalkulation von fedjo Experte (2.2k Punkte)
Hallo Excelfreunde,
ich kopiere verschiedene Zeilen aus SAP in die Tabelle mit
Range("C1:C65536").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste ein.
Da auch weiter unten in der Tabelle, Spalte C noch Einträge vorhanden sind, reichen die leeren Zellen oft nicht aus und es wird überschrieben.

Kann man das Überschreiben verhindern, oder Abrechen, MsgBox mit Hinweis? Wie könnte der Code aussehen?

Tabelle:

A B C
Text Text Text


Text Text Text

Zwei Zellen in C sind frei, vier sollten mit Inhalt eingefügt werden.

Gruß
fedjo

6 Antworten

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

aus meiner Sicht nur mit Makro machbar

Gruß

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

statt ueberschreiben,wuerde ich einfuegen vorschlagen ^^

probier dich mal mit einer Makroaufnahme ^^

*stellt Webcams auf fuer YouTube* ,*hihi*,*ich weiss das das gemein ist,bin aber zur zeit ein schurke in rpgs*.*g*


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

vielleict etwas in der art zum einfuegen :-)

gruss nighty

Range("A1:A" & Rows.Count).End(xlDown).Offset(1, 0).Insert Shift:=xlDown
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo,
danke für die schnellen Antworten.
@ Helmut,
ich wollte das ja auch mit einem Makro lösen.

@ nighty,
dein Code: "Range("A1:A" & Rows.Count).End(xlDown).Offset(1, 0).Insert Shift:=xlDown" funktioniert super in einer nicht freigegebenen Mappe, aber bei einer freigegebene Arbeismappe kommt eine Fehlermeldung.

"Laufzeitfehler 104
Die Insert Methode des Range Objektes konnte nicht ausgeführt werden"

Gruß
fedjo
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi fedjo ^^

mit freigaben hab nur wenig bzw Richtung 0 Erfahrung *g*,daher warten wir erstmal ab ob sich eventuell noch andere user der community melden :-))

also hopp hopp ,wir brauchen antworten *hihi*

*nutzt die Wartezeit um fedjo Juckpulver in das Hemd zu streuen*

gruss nighty
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo,
da es so keine Lösung gibt, habe ich noch eine Frage.

Kann der Code so verändert werden, das nach dem Einfügen (Paste) nur nach dem überschreiben der Zelle (nicht ein neuer Eintrag in die leere Zelle) die MsgBox erscheint.

If Selection(Selection.Cells.Count) <> "" Then MsgBox "Überschrieben "

Gruß
fedjo
...