Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
628to632
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
628to632
628to632
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Probleme mit Dynamischem Spalten erstellen!

Probleme mit Dynamischem Spalten erstellen!
27.06.2005 16:24:48
Chris
Hi Leute, ich bin ein totaler Anfänger was VBA unter Excel angeht!
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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit Dynamischem Spalten erstellen!
27.06.2005 19:38:52
Berber
Hallo,
grundsätzlich kannst Du Zellen in dieser Form anprechen:
Sheets(1).cells(z,s)
oder
worksheets("Tabellenname").cells(z,s)
oder worksheets(1).------
z steht für Zeilennummer s steht für Spaltennummer
Beides sind Zahlen also cells(1,2) ist Zelle B2
Diesen Ausdruck kann man gut zum Programmieren mit Schleifen verwenden.
Sheets(index) steht für die x.te Tabelle in Deiner Arbeitsmappe
Du kannst den Range-Ausdruck aber auch mit Text und Zahlen zusammenbauen
z.B
Zeile1 = 3
Zeile2 = 8
Range("A" & Zeile1 & ":A" & Zeile2).select
Gruss
Berber
Anzeige
AW: Probleme mit Dynamischem Spalten erstellen!
27.06.2005 19:41:39
Berber
Hallo,
habe einen Fehler entdeckt:
Beides sind Zahlen also cells(1,2) ist Zelle B1, nicht B2!!!!!!!!!!!!!!!
grundsätzlich kannst Du Zellen in dieser Form anprechen:
Sheets(1).cells(z,s)
oder
worksheets("Tabellenname").cells(z,s)
oder worksheets(1).------
z steht für Zeilennummer s steht für Spaltennummer
Beides sind Zahlen also cells(1,2) ist Zelle B1
Diesen Ausdruck kann man gut zum Programmieren mit Schleifen verwenden.
Sheets(index) steht für die x.te Tabelle in Deiner Arbeitsmappe
Du kannst den Range-Ausdruck aber auch mit Text und Zahlen zusammenbauen
z.B
Zeile1 = 3
Zeile2 = 8
Range("A" & Zeile1 & ":A" & Zeile2).select
Gruss
Berber
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige