unkwownuser
Goto Top

VBS - Columns und Rows

Hallo liebes administrator.de Forum,

ich habe zur Zeit ein Problem mit dem deklarieren von Columns und Rows in VBS.
Es will einfach nicht funktionieren. Ich habe schon sämtliche Variationen ausprobiert, jedoch ohne Erfolg.

Sub assignStyle(ByRef Wks, ByRef fromColumnNumber, ByRef toColumnNumber, ByRef fromRowNumber, ByRef toRowNumber, ByRef StyleName)
	Wks.Cells(Wks.Columns(fromColumnNumber), Wks.Columns(toColumnNumber), Wks.Rows(fromRowNumber), Wks.Rows(toRowNumber)).Style = StyleName
End Sub

Call assignStyle(xExcel.ActiveWorkbook.ActiveSheet, "A", "B", "1", "2", "Style")  


Gruß,
unkwownuser

Content-Key: 127498

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

Printed on: April 24, 2024 at 00:04 o'clock

Member: TsukiSan
TsukiSan Oct 20, 2009 at 08:28:00 (UTC)
Goto Top
Hi unknownuser,

was möchtest du denn genau machen?
Wenn es nur um Einträge in einzelne Zellen/Spalten geht, dann kann man es so machen:
Dim objXL

Set objXL = WScript.CreateObject("Excel.Application")  
objXL.Workbooks.Add
objXL.Cells(1,1).Value = 5
objXL.Cells(1,2).Value = 10
objXL.Cells(1,3).Value = 15
objXL.Range("A1:C1").Select  

objXL.Visible = True

Set objXL = nothing

Gruß
Tsuki
Member: bastla
bastla Oct 20, 2009 at 08:40:30 (UTC)
Goto Top
Hallo unknownuser und Tsuki!

Ich hätte es so verstanden:
Wks.Range(Wks.Cells(fromRowNumber,fromColumnNumber), Wks.Cells(toRowNumber,toColumnNumber)).Style = StyleName
Grüße
bastla
Member: TsukiSan
TsukiSan Oct 20, 2009 at 08:46:45 (UTC)
Goto Top
Hi bastla,

da habe ich wohl zu schnell gelesen!
Ich glaube, du hast genau verstanden, was unkownuser meinte.
Sorry, unkownuser!
Es geht um die Art der Beschriftung/Bezugsart von Zeilen und Spalten.
Jetzt hab ich's auch verstanden!

Ach, dieser Dienstag.......

Gruß
Tsuki
Member: unkwownuser
unkwownuser Oct 20, 2009 at 08:56:30 (UTC)
Goto Top
Hi Tsuki und bastla,

@ Tsuki, ich meine damit, das man nicht A1 bis B5 schreibt sondern halt Column 1-5 und Row A-B.
@ Bastla, leider funktioniert die Deklaration nicht so richtig.


Gruß
unkwownuser
Member: AndreasHoster
AndreasHoster Oct 20, 2009 at 10:12:17 (UTC)
Goto Top
Excel will Zahlen als Indizes für Row & Column.
A, B, AA etc. funktioniert nicht, es sei denn, Du baust noch eine Umrechnungsroutine mit in Deine Routine ein, die A in 1 umrechnet, AA in 27 etc.
Und Zahlen bedeutet auch, keine Anführungszeichen um die Werte.
Aufruf also (Rest nicht auf Syntax und Logik geprüft):
Call assignStyle(xExcel.ActiveWorkbook.ActiveSheet, 1, 2, 1, 2, "Style")  
Mitglied: 76109
76109 Oct 20, 2009 at 11:35:15 (UTC)
Goto Top
Hallo zusammen!

@AndreasHoster
Da muss ich Dir leider widersprechen, dass funktioniert sehr wohl.

@unkwownuser
Die Syntax, wie sie bastla angegeben hat ist schon richtig. Nur Für den Wert Style, musst Du schon etwas angeben, was Excel auch bekannt ist z.B:

Sub assignStyle(ByRef Wks, ByVal fromColumnNumber, ByVal toColumnNumber, ByVal fromRowNumber, ByVal toRowNumber, ByRef StyleName)
    Wks.Range(Wks.Cells(fromRowNumber, fromColumnNumber), Wks.Cells(toRowNumber, toColumnNumber)).Style = StyleName
End Sub

Sub test()
    Call assignStyle(ActiveSheet, 1, 2, 1, 2, "Percent")  
    Call assignStyle(ActiveSheet, "A", "B", 1, 2, "Percent")  
    Call assignStyle(ActiveSheet, "A", "B", "1", "2", "Percent")  
End Sub

Gruß Dieter
Member: unkwownuser
unkwownuser Oct 20, 2009 at 11:46:40 (UTC)
Goto Top
Hi AndreasHoster,

jetzt funktioniert es einwandfrei.
Vielen Dank an euch alle für die schnell Hilfe.


Gruß
unkwownuser