Das Problem ist, dass je nach Excel-Version (2003 und 2007) der kopierte Bereich als HTML erkannt wird (d.h. ein simples ActiveSheet.Paste fügt die Tabelle mit richtigen Spalten ein), oder als Text (dann landet jede Zeile in einer einzigen Zelle). Das ganze ist innerhalb von Excel 2007 auch nicht vorhersehbar, denn nachdem man mehre Male Text eingefügt hat, führt ein erneutes Einfügen auf gleichem Wege dann plötzlich zu richtig formatierten Spalten.
Es kommt auch vor, dass beim Einfügen über
ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:= False
automatisch ein Spaltenumbruch bei jeder Leerstelle im Text stattfindet. Das kann ich auch mit "Inhalte einfügen" nachvollziehen.
Es wäre jetzt ziemlich aufwändig, nach dem Einfügen erstmal zu prüfen, wie es gerade verarbeitet wurde, um dann ggf. nochmal Selection.TextToColumns anzuwenden.
Ich weiss auch im Vorwege nicht, ob ich ActiveSheet.PasteSpecial Format:="Text" oder nur ActiveSheet.Paste anwenden soll, denn was für ein Format jeweils vor dem Einfügen in der Zwischenablage ist, kann man ja vorher nicht prüfen, oder?
Ein weiteres Problem ist, dass immer dann, wenn ActiveSheet.Paste den Inhalt als Tabelle einfügt, im Tabellenblatt Symbole sichtbar sind, die wie ein abgerolltes Papier aussehen und beim Darüberfahren mit viewer.OnInjectionDone.('viewer') angezeigt werden. Wenn ich da draufklicke, öffnet sich der Microsoft Script-Editor mit einer leeren Ansicht.
Ich hoffe Ihr werdet aus meienr zugegebenermaßen etwas wirren Beschreibung halbwegs schlau. Besser kann ich es leider nicht in Worte fassen.
Vielleicht kommt es ja jemandem bekannt vor und er hat eine Idee, wie ich das lösen kann.