Makro für Excel benötigt

Hallo Zusammen,

ich habe folgendes Problem. Ich habe in Excel zwei Ausgabefelder mit unterschiedlicher Formatierung, die ich durch die Funktion VERKETTEN in einem Feld zusammenfasse. Nur leider übernimmt Excel diese unterschiedlichen Formatierungen nicht. Ich habe nur hier im Forum gelesen, dass es eine Möglichkeit über ein Makro gibt. Nur leider bin ich wohl zu blöd dafür, ich raffs einfach nicht.
Wäre schön, wenn mir jemand helfen könnte.

Hier die Ausgangssituation:

Feld I7: Verdana, Schriftgröße 18, unterstrichen
Feld I10: Verdana, Schriftgröße 12

Inhalt soll in Zelle I13 folgendermaßen dargestellt werden: „I7, Leerzeile, I10“

Wenn das möglich ist, wäre ich schon sehr glücklich.
Das Sahnehäubchen an der Sache wäre noch, wenn es irgendwie funktionieren würde, diese Daten dann in eine WORD-Tabelle zu exportieren…

Viele Dank schon einmal
Gruß
Stefan

Hallo, Stefan!

Feld I7: Verdana, Schriftgröße 18, unterstrichen
Feld I10: Verdana, Schriftgröße 12
Inhalt soll in Zelle I13 folgendermaßen dargestellt werden:
„I7, Leerzeile, I10“

Ungefähr so:

Sub VerheirateMitFormat()
 Dim rngQuelle As Range
 Dim Hierhin As Range

 Set Hierhin = ActiveSheet.Range("I13")

 Hierhin.FormulaR1C1 = ActiveSheet.Range("I7") & Chr(10) & Chr(10) & ActiveSheet.Range("I10")
 Set rngQuelle = ActiveSheet.Range("I7")
 With Hierhin.Characters(Start:=1, Length:=Len(rngQuelle)).Font
 .Name = rngQuelle.Font.Name
 .FontStyle = rngQuelle.Font.FontStyle
 .Size = rngQuelle.Font.Size
 .Strikethrough = rngQuelle.Font.Strikethrough
 .Superscript = rngQuelle.Font.Superscript
 .Subscript = rngQuelle.Font.Subscript
 .OutlineFont = rngQuelle.Font.OutlineFont
 .Shadow = rngQuelle.Font.Shadow
 .Underline = rngQuelle.Font.Underline
 .ColorIndex = rngQuelle.Font.ColorIndex
 End With

 Set rngQuelle = ActiveSheet.Range("I10")
 With Hierhin.Characters(Start:=Len(Hierhin) - Len(rngQuelle) + 1, Length:=Len(rngQuelle)).Font
 .Name = rngQuelle.Font.Name
 .FontStyle = rngQuelle.Font.FontStyle
 .Size = rngQuelle.Font.Size
 .Strikethrough = rngQuelle.Font.Strikethrough
 .Superscript = rngQuelle.Font.Superscript
 .Subscript = rngQuelle.Font.Subscript
 .OutlineFont = rngQuelle.Font.OutlineFont
 .Shadow = rngQuelle.Font.Shadow
 .Underline = rngQuelle.Font.Underline
 .ColorIndex = rngQuelle.Font.ColorIndex
 End With

End Sub

Wenn das möglich ist, wäre ich schon sehr glücklich.
Das Sahnehäubchen an der Sache wäre noch, wenn es irgendwie
funktionieren würde, diese Daten dann in eine WORD-Tabelle zu
exportieren…

Wie soll das dann rüber? Geht Copy&amp:stuck_out_tongue_winking_eye:aste nicht? Soll das automatisch passieren? Was genau brauchst Du hier…?

Gruß, Manfred

Wow, Danke erstmal für die schnelle Antwort!

Ich weiss, es klingt doof, aber den Code muss ich wo einfügen? Ich mach mir nen Button, oder?

Die Ausgabe in die Word-Datei erfolgt bis jetzt über copy und paste, aber ne automatische Übergabe wäre das Größte!!!
Geht sowas überhaupt?

Stefan

Hallo, Stefan!

Ich weiss, es klingt doof, aber den Code muss ich wo einfügen?
Ich mach mir nen Button, oder?

Den Code kopierst Du Dir in ein neues Modul. Dann kannst Du das Makro aufrufen über „Extras“-„Makros“ (oder [Alt]+[F8]). Oder eben einen Button einfügen und den das Makro aufrufen lassen.

Die Ausgabe in die Word-Datei erfolgt bis jetzt über copy und
paste, aber ne automatische Übergabe wäre das Größte!!!
Geht sowas überhaupt?

Gehen tut alles. Ist eben nur die Frage, wie und wo Du das rein haben willst. Hast Du z. B. die Zellen in eine Word-Tabelle kopiert? Oder übernimmst Du das kopierte als Excel-Tabelle nach Word? Welche Bereiche übernimsmt Du nach Word? In immer die gleiche Datei, an immer die gleiche Stelle, oder in jeweils neue Dateien?

Gruß, Manfred

Hallo Manfred,

Danke für die Erklärung und das Makro - das funzt wunderbar!!! :o)
Ich lasse das Makro über einen Button ausführen, weil sonst wohl unser Virenscanner Alarm schlagen würde.
Dadurch schließt sich aber ein Folgeproblem an - ich habe das Excel-Blatt geschützt, nur bleibt der Schutz leider auch für den Button bestehen. Den Button kann ich auch nicht im Untermenü „Schutz“ freigeben. Hast Du auch noch ne Lösung dafür? Irgendwo muss man das doch einstellen können…

Zur Übergabe in WORD. Bei den Daten handelt es sich um zu fertigende Etiketten, die auf dem Format 105 x 57 mm beruhen. (Etiketten der Firma Avery No. 3425). Hierbei passen 10 Etiketten auf eine DIN A4- Seite, somit soll es also in eine WORD-Tabelle mit 10 gleich großen Tabellenfeldern (Zeilen 5, Spalten 2 - mit o.g. Abmaßen) fortlaufend eingefügt werden.
Aber wie schon gesagt, das wäre das absolute Sahnehäubchen. Ich bin momentan schon happy, das hätte ich so nie hinbekommen und deshalb nochmal ein großes DANKE an Dich!! :o)

Gruß
Stefan

Also, Button kann man mittlerweile benutzen, nur leider scheint das Makro ein Problem mit geschützten Zellen zu haben. Ohne Blattschutz funzt es wunderbar, mit dem Schutz bringt er mir nen Laufzeitfehler 1004 „Die Name-Eigenschaft des Font-Objektes kann nicht festgelegt werden“

Hi Stefan,

Ich lasse das Makro über einen Button ausführen, weil sonst
wohl unser Virenscanner Alarm schlagen würde.

kenn mich da nicht aus, irgendwie ein schlechter Virenscanner, sobald mein Makro läuft, egal wie gestartet, habe ich die Macht über deinen Rechner, ich kann Dateien verändern, löschen, den Virenscanner löschen, die Festplatte formatieren…

Ein Makro starten ist wie eine Exe starten, das was drin steht wird gemacht.

Dadurch schließt sich aber ein Folgeproblem an - ich habe das
Excel-Blatt geschützt, nur bleibt der Schutz leider auch für
den Button bestehen. Den Button kann ich auch nicht im
Untermenü „Schutz“ freigeben. Hast Du auch noch ne Lösung
dafür? Irgendwo muss man das doch einstellen können…

Schreib anfangs des Codes:
ActiveSheet.Unprotect Password:=„abc“

und zum Ende hin:
ActiveSheet.Protect Password:=„abc“, DrawingObjects:=True, Contents:=True, Scenarios:=True

K.A. welche Excelversion du hast, die Parameter zu protect variieren je nach Version, schau in der Vba-Hilfe nach.

Zur Übergabe in WORD. Bei den Daten handelt es sich um zu
fertigende Etiketten, die auf dem Format 105 x 57 mm beruhen.
(Etiketten der Firma Avery No. 3425). Hierbei passen 10
Etiketten auf eine DIN A4- Seite, somit soll es also in eine
WORD-Tabelle mit 10 gleich großen Tabellenfeldern (Zeilen 5,
Spalten 2 - mit o.g. Abmaßen) fortlaufend eingefügt werden.
Aber wie schon gesagt, das wäre das absolute Sahnehäubchen.
Ich bin momentan schon happy, das hätte ich so nie hinbekommen
und deshalb nochmal ein großes DANKE an Dich!! :o)

Das geht prinzipiell. Kann sein einfach, kann sein daß wie üblich die Spaltenbreite Probleme macht. Die Zeilenhöhe ist damit verglichen problemlos.

Kleines Beispiel für die Spaltenbreitenproblematik:
/t/word-tabelle-in-excel-uebernehmen/4681664

Mit Word kenne ich mich nicht so aus, wenn es da bei Etiketten so einfach ist wie beim Seriendruck eine Exceltabelle als Quelle einzubinden so kriege ich das hin das mit in denien Code einzubinden.

Wenn nicht, kann ich nichts zusagen, ich schau halt mal.

Gruß
Reinhard