VBA Excel - Rahmen hinzufügen

unkwownuser
Goto Top
Hallo liebes Adminstrator.de Forum,

ich habe ein kleines Problemchen mit meinem VBA Script.
Ich möchte gerne noch einen Rahmen in die bestehende Sub einfügen. Jedoch klappt es nicht so richtig.


Hier mal der aktuelle Code:


Gruß,
unkwownuser

Content-Key: 124201

Url: https://administrator.de/contentid/124201

Ausgedruckt am: 04.07.2022 um 07:07 Uhr

Mitglied: 76109
76109 04.09.2009 um 12:05:58 Uhr
Goto Top
Hallo unkwownuser!

Versuchs mal mit:

Gruß Dieter
Mitglied: unkwownuser
unkwownuser 04.09.2009 um 12:15:40 Uhr
Goto Top
Hallo didi1954,

erstmal Danke für deinen Vorschlag, jedoch spuckt er mir immer noch Fehler aus.
Das Problem ist halt, dass es unter einer bestehenden Sub ausgeführt werden soll.
Jedoch führt das irgendwie zum Fehler.


Gruß,
unkwownuser
Mitglied: 76109
76109 04.09.2009 um 12:28:41 Uhr
Goto Top
Hallo unkwownuser!

Der Rahmen sollte funktionieren und der Fehler ist wohl das hier:
xE.Range(fromColumnNumber, toColumnNumber) = value
Was ist value? sehe ich nirgendsface-smile

Gruß Dieter
Mitglied: unkwownuser
unkwownuser 04.09.2009 um 12:33:26 Uhr
Goto Top
Hallo didi1954,

in einer eigenen Sub funktioniert es, aber sobald ich es in eine vorhande Sub reinschreibe, crasht es.

Hier nochmal der aktuelle Code:


Gruß,
unkwownuser
Mitglied: 76109
76109 04.09.2009 um 12:55:21 Uhr
Goto Top
Hallo unkwownuser!

Unklar ist, was Du für Parameter an die Sub übergibst (Call assignStyle(?, ?, ?,...)

Sollte sein:
Call assignStyle( Sheet, Integer, Integer ...)

Die Sub assignStyle(xE, fromColumnNumber, toColumnNumber,...) sollte lauten:
Sub assignStyle(ByRef xE , ByVal fromCol... As Integer, ByVal toCol... As Integer,...)
oder:
Sub assignStyle( ByVal xE As Worksheet , ByVal fromCol... As Integer, ByVal toCol... As Integer,...)

Range ( fromColumn, toColumn) ist ja total falsche Syntax. Hatte ich garnicht drauf geachtetface-smile

Wohl eher:
xE.Range(xE.Cells(fromRow, fromColumn), xE.Cells(toRow, toColumn))
D.h. bei den Parametern fehlen noch die Zeilen?

Gruß Dieter
Mitglied: unkwownuser
unkwownuser 04.09.2009 um 14:06:33 Uhr
Goto Top
Hallo didi1954,

die Antwort kommt ein bisschen spät, war gerade zu Tisch.
Jetzt hast du mich ein wenig überfordert mit so vielen Parametern face-smile
Was ich noch vergessen hatte zu sagen, es handelt sich hierbei um eine exteren *.vbs-Datei.
Eventuell hat das auch damit was zu tuen.


Gruß,
unkwownuser
Mitglied: bastla
bastla 04.09.2009 um 15:13:02 Uhr
Goto Top
Hallo unknownuser und didi1954!

Nur als Anmerkung: VBS kennt natürlich keine Excel-Konstanten, daher entweder diese am Beginn des Scripts festlegen, etwa:
oder (q & d) den Wert (7) direkt verwenden.

Zu finden sind die entsprechenden Werte durch Ausgabe in VBA, also etwa
Grüße
bastla
Mitglied: 76109
76109 04.09.2009 um 15:35:31 Uhr
Goto Top
Hallo unkwownuser und bastla!

In Deinem Beitrag steht VBA-Excel und VBA-Script. Das es ein VB-Script (*.vbs) ist, ist so nicht zu erkennen. Aber egal, die Argumente, die Du an die Routine übergibst sind mir immer noch unbekannt? Und wie bastla schreibt, sind in VBS die Border-Konstanten unbekannt.

Wenn Deine Argumente nur aus vonSpalte und bisSpalte besteht, fehlen die Zeilenangaben? Oder sind es z.B. vonRange("A1") und bisRange("XY"). Habe leider keine Zauberkugelface-smile

Gruß Dieter
Mitglied: 76109
76109 04.09.2009 um 19:14:38 Uhr
Goto Top
Hallo unkwownuser!

In VBS würde z.B. das (etwas optimiert) funktionieren:

Gruß Dieter
Mitglied: unkwownuser
unkwownuser 08.09.2009 um 10:07:47 Uhr
Goto Top
Hallo didi1954,

das sieht super aus und entspricht genau meinen Vorstellungen.
Jetzt habe ich noch eine Frage dazu.
Kann man z.B. in einer Sub "defineStyle" den Style festlegen und dann in einer neuen Sub "assignStyle" den Style zuweisen?
Also sprich, man legt in der ersten Sub einen Style für die ganze Arbeitsmappe an und in der zweiten Sub wählt man die gewünschten Felder an.


Gruß,
unkwownuser