Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
772to776
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
772to776
772to776
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA-Formatierungsscript

VBA-Formatierungsscript
22.06.2006 12:42:27
Jan
Ich möchte mein Exceldokument folgendermaßen Formatiert haben:
https://www.herber.de/bbs/user/34540.xls
(Zeilengröße etc. ist schon in einer anderen Methode erledigt)
Das löse ich mit folgender Formel:
(das Array text() ist definiert, genauso wie exle=Excel.Application)
---------------------------------------

Sub Info()
Dim i, j, infovar, charvar1, charvar2, bordervar
infovar=10
For i=0 to 1 step 1
For j=0 to 4 step 1
exle.Cells(row, j*8+1).Value = text(infovar)
infovar = infovar+1
If (j=0) then
charvar1="A"
charvar2="H"
End If
If (j=1) then
charvar1="I"
charvar2="P"
End If
If (j=2) then
charvar1="Q"
charvar2="X"
End If
If (j=3) then
charvar1="Y"
charvar2="AF"
End If
For bordervar=7 to 11 step 1
exle.Range(Chr(34) & charvar1 & row & Chr(58) & charvar2 & row+1 & Chr(34)).Borders(bordervar).LineStyle = 1
exle.Range(Chr(34) & charvar1 & row & Chr(58) & charvar2 & row+1 & Chr(34)).Borders(bordervar).Weight = 4
Next
Next
row = row+2
Next
End Sub

---------------------------------
Mir wird bei diesem Teil:
For bordervar=7 to 11 step 1
exle.Range(Chr(34) & charvar1 & row & Chr(58) & charvar2 & row+1 & Chr(34)).Borders(bordervar).LineStyle = 1
exle.Range(Chr(34) & charvar1 & row & Chr(58) & charvar2 & row+1 & Chr(34)).Borders(bordervar).Weight = 4
Next
Ein Unbekannter Laufzeitfehler ausgegeben, aber die Syntax ist doch korrekt..? (habe ich ihn evtl. mit dem Range(Inhalt) überlastet?)
Danke schonmal'(:

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

Betreff
Datum
Anwender
Anzeige
AW: VBA-Formatierungsscript
22.06.2006 14:08:50
Jan
Habs jetzt mal mit den Zeichen selbst gemacht:
For bordervar=7 to 11 step 1
.Range(""" & charvar1 & row &X":" & charvar2 & row+1 & """).Borders(bordervar).LineStyle = 1
.Range(""" & charvar1 & row & ":" & charvar2 & row+1 & """).Borders(bordervar).Weight = 4
Next
Nun sagt er aber, dass an der Stelle X eine ")" erwartet wird...aber wieso? Range kann doch noch ne zweite Koordinate verwalten.
AW: VBA-Formatierungsscript
23.06.2006 22:03:24
Berber
Hallo Jan,
die Chr-Ausdrücke sind mir nicht mehr wirklich geläufig.
Ich interpretiere chr(34) = " linkes Gänsef. chr(58) = " rechtes Gänsef.
Du kannst die Gänsef. doch direkt in den Code eingeben,
bzw. für die Variablen vom Typ string, z.B. charvar1, brauchst du gar keine "
Für die Zahlen-Variable row, reicht es nicht, wenn Du diese in " " setzt, wandle Sie um in einen String mit Cstr(row), ebenso alle Operationen, die Du mit row in diesm Ausdruck ausführst.
sollte dann so etwa gehen: exle.Range(charvar1 & cstr(row) & charvar2 & cstr(row+1)).Borders(bordervar).LineStyle = 1
Ich habe das nicht getestet,soweit nur ein Ansatz zum Entwickeln.
Gruss
Berber
Anzeige

8 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige