Thema: Zellen formatieren ( Zellen verbinden )


Seite durchsuchen:
Home


zurück zur Übersicht

Diskussionsgruppe: Tabellenkalkulation

Hallo,
ich möchte in einer Tabelle jeweils zwei nebeneinanderliegende Zellen markieren, die Zellen verbinden und den Inhalt zentrieren. z. B. C42:D42, C44:D44, E42:F42 usw. insgesamt sind es 24 Zellen, die so formatiert werden sollen. Mein Programmcode sieht so aus:
'Zellen verbinden und Zentrieren
Range("C42:D42").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Muß ich das für jede Zelle so aufzeichnen oder kann man daß irgendwie zusammenfassen ?
Gruß
Thomas

Von: manu661 Datum: 15.02.2007, 18:29

alle Antworten zu dieser Frage




Antwort 1 von rainberg vom 15.02.2007, 22:25
Hallo Thomas,

wenn Du diese Prozedur mit dem Makrorecorder aufzeichnest, erhältst Du folgenden Code.

Sub Makro2()
Range("C42:D42").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
Selection.Copy
Range("E42:Z42").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub

Hierbei werden die Zellen bis Spalte Z verbunden.

Ich frage mich nur, warum Du dazu ein Makro brauchst, das ist doch mit "Formatübertragen" viel einfacher.

Gruß
Rainer

Antwort 2 von coros vom 16.02.2007, 12:09
Hallo,

ich muss Reiner zustimmen, wozu Du das benötigst ist nicht ganz klar, denn iwe von Reiner beschrieben gehts auch anders. Aber das soll uns ja eigentlich egal sein. Allerdings hättest Du mal schreiben sollen, was bei Dir ".usw" bedeutet. Du machst eine Aufzählung C42:D42, C44:D44,E42:F42" und dann usw. Ich gehe mal davon aus, dass in Zeile 42 die nächsten Zellen G42:H42 wären und dass dann vortlaufend 24x? Wenn dem so ist, dann kopiere nachfolgendes Makro in ein StandardModul und starte es über z.B. eine Befehlsschaltfläche.

Option Explicit

Sub Autoverbinden()
Dim i As Integer
For i = 3 To 49 Step 2
With Range(Cells(42, i), Cells(42, i + 1))
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
With Range(Cells(44, i), Cells(44, i + 1))
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Next
End Sub

Ich hoffe, Du mientest das so. Wenn nicht, melde Dich nochmal.

Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 3 von manu661 vom 16.02.2007, 16:09
Hallo und vielen Dank an Reiner und Oliver. Ihr habt Recht, meine Angaben waren zu allgemein.
>>ich muss Reiner zustimmen, wozu Du das benötigst ist nicht ganz klar, denn iwe von Reiner beschrieben gehts auch anders.<<
Dieses Formatieren ist Teil eines Makros um eine Tabelle in die endgültige Form zu bringen.
>>Du machst eine Aufzählung C42:D42, C44:D44,E42:F42" und dann usw. Ich gehe mal davon aus, dass in Zeile 42 die nächsten Zellen G42:H42 wären und dass dann vortlaufend 24x? <<
Das ist nicht der Fall, sondern es sollen folgende Zellen verbunden werden:
C42:D42; E42:F42;
C44:D44; E44:F44;
C45:D45; E45:F45;
C48:D48; E48:F48;
C49:D49; E49:F49;
C50:D50; E50:F50.
Freundliche Grüße
Thomas

Antworten der Gruppe: Tabellenkalkulation
www.supportnet.de







Office 365 stellt vertraute Microsoft Office-Tools für die Zusammenarbeit und Produktivität über die Cloud bereit. So können alle ganz einfach von nahezu überall zusammenarbeiten und auf E-Mails, Webkonferenzen, Dokumente und Kalender zugreifen.

07111 07112 07113 07114 07115 07116 07117 07118