Excel Makro: Formatierung beibehalten

ElHonigmann

Cadet 1st Year
Registriert
Jan. 2020
Beiträge
12
Hallo zusammen,

ich habe, ohne wirkliche Erfahrung, mit Hilfe einiger YouTube Videos eine Makrodatei in Excel erstellt um Daten aus der Excel Tabelle in ein Word Dokument zu übertragen. Es funktioniert soweit auch sehr gut, doch ich würde mir noche inige Optimierungen wünschen. Bei den zu übertragenden Inhalten handelt es sich um chemische Summenformel. Zahlen die dort tiefgestellt oder Hochgestellt sind, werden bei übertragen ins Word Dokument zu normalen Zahlen:

Beispiel:

Beispiel.PNG


Sub nachwordkopieren()

Dim Probenliste As Object
Dim appWord As Object

Set appWord = CreateObject("Word.Application")
Set Probenliste = appWord.Documents.Add("Speicherpfad")

appWord.Visible = True

Probenliste.Activate
Probenliste.Bookmarks("Probenname1").Range.Text = Range("Probenname1")
Probenliste.Bookmarks("Verbindung1").Range.Text = Range("Verbindung1")

Set Probenliste = Nothing
Set appWord = Nothing

End Sub


So sieht das verwendete Makro aus: nun ist die Frage ob es generell auch möglich ist die Formatierung bei der Übertragung beizubehalten und wenn ja wie?

Falls Weitere Informationen nötig sind, helfe ich gerne.

Liebe Grüße,

ElHonigmann
 
Ich denke, in diesem Fall geht es nur über die Zwischenablage. Denn soweit ich weis kannst Du Formatierungen manuell zwar aus den Zellen lesen (dann wirst du aber auch nie fertig), aber nicht innerhalb einer Zelle unterscheiden.

Folgendes klappt hier aus Word heraus IMO gut.
Voraussetzung ist, dass

a) Excel geöffnet ist
b) Die Daten aus dem ersten Tabellenblatt geholt werden

Code:
Public Sub Import_from_Excel()
Dim xlApp As Object


Set xlApp = GetObject(, "Excel.application")
xlApp.Worksheets(1).Range("A1:E10").Copy
Selection.PasteExcelTable False, False, True


Set xlApp = Nothing


End Sub

Ich hoffe das hilft dir ggf. weiter, bzw. du kannst es als Ansatz für Dein spezielles Szenario ausbauen.
 
Mangels guter Idee eine Schlechte…
Übertrage Zeichen für Zeichen statt den Range in tutto und verordne dem Ziel das ermittelte Formst der Quelle.
Meine Erinnerung ist etwas blass, aber für eine Funktion (=Makro) einen Zellinhalt in einen Kommentar zu schaffen musste ich ähnlich stupide vorgehen.
Finde ich krass, dass Hoch- und Tiefstellung kein Übertragen überleben (hach, Summenformeln, das weckt Erinnerungen!)

CN8
 
Alternativ:
Verwende entsprechende ASCII-Zeichen (Link).
Ich habe mir bspw. ueber die Autokorrektur alle Hoch-, Tiefgestellten Zahlen und hochgestelltes Plus und Minus in Kombination mit Unterstrich oder Zirkumflex (^) eingetragen.
Dann spart man sich auch das markieren und geklicke in der Menueleiste ...

Und noch ein Hinweis:
Bei Code bitte immer Code-Tags verwenden.
 
Zurück
Oben