Ich bin gerade dabei ein etwas grösseres Makro zu schreiben und löse nun gerade einige
Teilprobleme.
Mit dem folgenden komme ich nicht weiter und deshalb habe ich mich hier in Eurer Community
angemeldet und hoffe, dass mir hier geholfen wird.
Ich möchte mit einem Klick auf einen Button eine neue Spalte erstellen und mit Rahmen und
Farben formatieren.
ich habe das ganze nun mit dem Makrorekorder aufgenommen und möchte es dementsprechend
dynamisch gestalten. Mit dem Makrorekorder hat er das auch gut gemacht und es klappt bei
einer statischen Spalte. Jetzt möchte ich aber bei jedem Klick auf den Button eine neue
Spalte rechts einfügen. Genau darin liegt mein Problem, da ich nicht weiss, wie ich einzelne
Zellen einer Spalte ansprechen kann.
Der Makrorekorder hat das mit Range ("A1:A3") gemacht. Das kann ich ja nicht nutzen, weil
ich ja dynamisch hochzählen möchte und das ja bei den Buchstaben nicht geht! Eine weitere
Sache, die ich gefunden habe war dann Columns(n). Damit kann ich ja eine Zeile über ihren
numerischen Wert ansprechen. Leider sehe ich das aber in diesem Fall nicht als hilfreich an,
da ich ja NUR die Spalte ansprechen kann, aber nicht unterschiedliche Zeilen in dieser
spalte! Oder ist dieses doh möglich?
Anbei lege ich Euch meinen Source bei!
Ich hoffe auf Eure Hilfe!
Chris
Sub NeueSpalte()
'Hier muss nun dynamisch der Bereich aufgelistet werden! (passende Anzahl von zeilen!)
Range("D1:D34").Select
'Columns(4).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
'Die Zeilen zum rot-färben deklarieren
Range("D2:D34").Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
Range("D1").Select
With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
With Selection.Font
.Name = "Arial"
.Size = 12
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "2"
'Die Zeile zum grau-färben deklarieren
Range("D2:D34").Select
Selection.Font.Bold = True
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
End Sub