Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Spaltenbreite automatisch einstellen

Spaltenbreite automatisch einstellen
17.10.2012 11:21:07
Peter
Hallo Leute, ich habe dieses MAkro aufgenommen und nun in meinen Code verschoben.
Irgendetwas funzt net.
'Spalte A;B;C sollen 3,57 also 30 Pixel breit sein
'Spalte D soll6,43 also 50 Pixel breit sein
ActiveCell.Columns("A:A").EntireColumn.ColumnWidth = 3.57
ActiveCell.Offset(0, 1).Columns("A:A").EntireColumn.ColumnWidth = 3.57
ActiveCell.Offset(0, 2).Columns("A:A").EntireColumn.ColumnWidth = 3.57
ActiveCell.Offset(0, 3).Columns("A:A").EntireColumn.ColumnWidth = 6.43
Beim ersten ausführen stellt er 30;80;80;80 ein (Pixel)
bei jedem weiteren 30;30;50;80
Versteh das net.
Danke für eure Hilfe
Gruß Peter

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
kann ich nicht bestätigen ... Breite bleibt gleich
17.10.2012 11:39:45
Matthias
Hallo Peter
Habs gerade getestet(XL2007 und auch mit XL2000). Klappt in beiden Versionen ohne Probleme.
Du könntest Deine Mappe zeigen, gibts da evtl. noch mehr relevanten Prgr.Code?
Gruß Matthias

AW: kann ich nicht bestätigen ... Breite bleibt gleich
17.10.2012 11:47:17
Peter
Hallo Matthias,
hier mein kompletter Code, habe aber schon ein wenig an der Spaltenbreite gebastelt... aber ändert sich nix
Sub neuer_Auftrag()
' neuer_Auftrag Makro
' fügt im Tabellenblatt Berechnung eine neue Auftragtabelle hinzu
'Zelle A1:A4 sollen miteinand3er verbunden werden
ActiveCell.Range("A1:D1").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
'Spalte A;B;C sollen 3,57 also 30 Pixel breit sein
ActiveCell.Columns("A:A").EntireColumn.ColumnWidth = 3.57
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.Columns("A:A").EntireColumn.ColumnWidth = 3.57
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.Columns("A:A").EntireColumn.ColumnWidth = 3.57
ActiveCell.Offset(0, 1).Range("A1").Select
'Spalte D soll6,43 also 50 Pixel breit sein
ActiveCell.Columns("A:A").EntireColumn.ColumnWidth = 3.57
ActiveCell.Offset(0, -3).Range("A1").Select
'In Zelle A2 steht BU
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveCell.Value = "BU"
'In Zelle B2 Steht BI
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.Value = "BI"
'In Zelle C2 sthet GR
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.Value = "GR"
'In Zelle D2 steht Sonder
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.Value = "Sonder"
ActiveCell.Offset(-1, -3).Range("A1").Select
'Bereich A1 bis D45 soll komplett schwarzen Rahmen erhalten
'Bereich A1 bis D45 soll außen einen dicken Rahmen erhalten
Selection.Merge
ActiveCell.Range("A1:D45").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
ActiveCell.Offset(4, 1).Range("A1").Select
End Sub

Vielen Dank

Anzeige
AW: kann ich nicht bestätigen ... Breite bleibt gleich
17.10.2012 11:50:08
Peter
Hab grad nen kleinen Fehler endeckt aber der scheint net so wichtig zu sein...
'Spalte D soll6,43 also 50 Pixel breit sein
ActiveCell.Columns("A:A").EntireColumn.ColumnWidth = 3.57
Aber wenn das schon bei Spalte B net funzt!!!

Nachfrage
17.10.2012 12:34:13
Matthias
Hallo
Dir ist aber bewusst, das Du damit:

ActiveCell.Offset(4, 1).Range("A1").Select

immer 4 Zeilen tiefer rutschst ?
Ist das so gewollt?
Gruß Matthias
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige