• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

Makro in Excel

geforceeee

Gelegenheitsspieler/in
Mitglied seit
06.02.2007
Beiträge
242
Reaktionspunkte
0
Hallo zusammen,
ich hab eine Frage. Ich arbeite gerade an einer Excel Tabelle und möchte ein Makro erstellen. Ich muss nämlich die Größe jeder Zeile verändern, die Farbe und einen Rahmen hinzufügen, dass heißt die Ränder dicker machen (Format, Zellen, Rahmen).
Ich hab also das Makro angefangen und auch beendet. So...dies funktioniert jetzt zwar auch, aber nur an der Zeile, an der ich das Makro erstellt habe.
Wüsst ihr was ich einstellen muss, damit das Makro für jede Spalte zu haben ist???
Vielen Dank für eure Hilfe
geforceeeee
 
Nun, wenn ich dich richtig verstanden habe, hast du jeweils die erste Zelle einer Zeile bearbeitet.
Makros wären hier sicherlich der umständlichere Weg. Ich meine, wenn du sowieso jeder Zeile ein individuelles Layout gibst, wieso bearbeitest du dann nicht die gesamte Zeile auf einmal? Im Endeffekt hast du den gleichen Aufwand wie mit Makros.
 
DonBarcal am 19.09.2007 12:16 schrieb:
Nun, wenn ich dich richtig verstanden habe, hast du jeweils die erste Zelle einer Zeile bearbeitet.
Makros wären hier sicherlich der umständlichere Weg. Ich meine, wenn du sowieso jeder Zeile ein individuelles Layout gibst, wieso bearbeitest du dann nicht die gesamte Zeile auf einmal? Im Endeffekt hast du den gleichen Aufwand wie mit Makros.

Ne ich hab die ganze Zeile markiert, sodass das Makro für die ganze Zeile arbeitet. Da verschiedene Layouttypen wie Farben, Rahmen, Größe beachtet werden müssen, ist ein Makro sehr nützlich.
Danke
geforceeeee
 
Es wäre möglich, wenn du das Makro für eine Zelle erstellst und beim ausführen mehrere markierst. Das funktioniert bestimmt auch für gesamte Zeilen bzw. Spalten.
 
Conducted am 19.09.2007 14:11 schrieb:
Poste doch einfach mal den Quelltext des Makros, dann können wir dir leichter helfen ;)

Hier der Quelltext.Ob der euch hilft? :
Sub Makro1()
'
' Makro1 Makro
' Makro am 19.09.2007 von Dominik aufgezeichnet
'
' Tastenkombination: Strg+x
'
Rows("77:77").RowHeight = 92.25
Range("A77:N77").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Interior
.ColorIndex = 34
.Pattern = xlSolid
End With
End Sub

Danke geforceeee
 
geforceeee am 20.09.2007 12:00 schrieb:
Hier der Quelltext.Ob der euch hilft? :
Naja, was sollte mehr helfen als der Quelltext? ;)

geforceeee am 20.09.2007 12:00 schrieb:
Sub Makro1()
'
' Makro1 Makro
' Makro am 19.09.2007 von Dominik aufgezeichnet
'
' Tastenkombination: Strg+x
'
Rows("77:77").RowHeight = 92.25
Range("A77:N77").Select
In der Zeile mit der Range-Anweisung kannst den Bereich angeben, der vom Makro verändert wird.
 
Conducted am 20.09.2007 13:18 schrieb:
geforceeee am 20.09.2007 12:00 schrieb:
Hier der Quelltext.Ob der euch hilft? :
Naja, was sollte mehr helfen als der Quelltext? ;)

geforceeee am 20.09.2007 12:00 schrieb:
Sub Makro1()
'
' Makro1 Makro
' Makro am 19.09.2007 von Dominik aufgezeichnet
'
' Tastenkombination: Strg+x
'
Rows("77:77").RowHeight = 92.25
Range("A77:N77").Select
In der Zeile mit der Range-Anweisung kannst den Bereich angeben, der vom Makro verändert wird.


Gut, gibt es denn auch ein Zeichen, dass sagt, dass dieser Befehl immer dort ausgeführt ist, in welcher Zelle ich gerade befinde. Wenn ich nämlcih vorher immer den Quelltext verändere, ist der Aufwand zu groß.
Danke
geforceeee
 
geforceeee am 20.09.2007 12:00 schrieb:
Range("A77:N77").Select

Diesen Teil solltest du einfach löschen. Das Problem ist, dass du die Zeile nach dem Aufzeichnungsstart gewählt hast. Du solltest die Zeile vorher auswählen und dann die Aufzeichnung beginnen. Alternativ kannst du es auch so machen, wie ich bereits erklärt habe.

Is doch ganz einfach... ;)
 
geforceeee am 21.09.2007 10:34 schrieb:
Gut, gibt es denn auch ein Zeichen, dass sagt, dass dieser Befehl immer dort ausgeführt ist, in welcher Zelle ich gerade befinde. Wenn ich nämlcih vorher immer den Quelltext verändere, ist der Aufwand zu groß.
Danke
geforceeee
Entweder du machst es so wie DonBarcal es vorgschlagen hat oder du ersetzt

Range("A77:N77").Select

durch

Rows(ActiveCell.Row).Select
 
Conducted am 21.09.2007 11:17 schrieb:
geforceeee am 21.09.2007 10:34 schrieb:
Gut, gibt es denn auch ein Zeichen, dass sagt, dass dieser Befehl immer dort ausgeführt ist, in welcher Zelle ich gerade befinde. Wenn ich nämlcih vorher immer den Quelltext verändere, ist der Aufwand zu groß.
Danke
geforceeee
Entweder du machst es so wie DonBarcal es vorgschlagen hat oder du ersetzt

Range("A77:N77").Select

durch

Rows(ActiveCell.Row).Select

Hey vielen Dank....habt mir sehr geolfen!!!
Ma ne andere Frage: WOher wüsst ihr das denn alles`?? Ich würd mir das nämlich auch gerne beibringen!!!
Danke geforceeeee
 
geforceeee am 21.09.2007 11:36 schrieb:
Ma ne andere Frage: WOher wüsst ihr das denn alles`?? Ich würd mir das nämlich auch gerne beibringen!!!

Bei mir war VBA Teil meines Studiums - wenn auch ein recht langweiliger. Ich bin und bleibe aber der Meinung, dass VBA keine Programmiersprache ist. Keine Semikola zur Befehlstrennung, wo gibts denn sowas :B

Im Netz dürfte es genügend Seiten geben, wo man was darüber erfährt.
 
Ich habe mich schon immer für Programmierung interessiert (mittlerweile hab ich es auch im Studium) und habe dann in der Schule mit QBasic angefangen. Mit VBA habe ich bisher nicht allzu viel gemacht, aber wenn man sich einige Jahre mit mehreren Programmiersprachen beschäftigt hat entwickelt man ein Gefühl fürs Programmieren und kann sich sehr schnell in eine neue Sprache einarbeiten.
Für VBA gibt es wie schon gesagt sehr viele Seiten die sich damit beschäftigen.
 
Zurück