|
|
|
VBAscript
|
|||
|---|---|---|---|
|
#18+
Добрый день. Имеется VBAscript для создания отчета.Вытягиваю данные и хочу прорисовать таблицу(ExcelWorksheet.Range("B4:C865").Select). Все получается только область прорисовки хотелось создавать автоматически тоесть чтобы менялась в зависимости от кол-ва строк .Подскажите как написать цикл для Range, а то в VBA не силен.Заранее спасибо Sub agnlist Set ExcelApplication = CreateObject("Excel.Application") Set ExcelWorkbook = ExcelApplication.Workbooks.Add' Set ExcelWorksheet = ExcelWorkbook.Worksheets(1) ExcelWorksheet.Name = "Èñõîäíûå äàííûå" ExcelApplication.Sheets("Èñõîäíûå äàííûå").Select ExcelWorksheet.Range("B2")="ÔÀÌÈËÈß" ExcelWorksheet.Range("C2")="ÈÌß" ExcelWorksheet.Range("B3")="1" ExcelWorksheet.Range("C3")="2" ExcelWorksheet.Range("D2")=MyValue str_num = 1 q = "select agnname ,agnfirstname from agnlist " Query.Sql.Text = q Query.Open If Query.IsEmpty Then MsgBox "Äàííûõ íåò" Query.Close Call ExcelWorkbook.Close(0,0,0) exit sub end if Query.First I = 4 While Not Query.EOF ExcelWorksheet.Range("B"+CStr(I)) = Query.FieldByName("agnname").Value ExcelWorksheet.Range("C"+CStr(I)) = Query.FieldByName("agnfirstname").Value Query.Next I = I + 1 wend ExcelWorksheet.Range("B2:C3").Select '------------------------------------------------------------------------------- ExcelApplication.Selection.Borders(5).LineStyle = -4142 ExcelApplication.Selection.Borders(6).LineStyle = -4142 With ExcelApplication.Selection.Borders(7) .LineStyle = 1 .Weight = 2 .ColorIndex = -4105 End With With ExcelApplication.Selection.Borders(8) .LineStyle = 1 .Weight = 2 .ColorIndex = -4105 End With With ExcelApplication.Selection.Borders(9) .LineStyle = 1 .Weight = 2 .ColorIndex = -4105 End With With ExcelApplication.Selection.Borders(10) .LineStyle = 1 .Weight = 2 .ColorIndex = -4105 End With With ExcelApplication.Selection.Borders(11) .LineStyle = 1 .Weight = 2 .ColorIndex = -4105 End With With ExcelApplication.Selection.Borders(12) .LineStyle = 1 .Weight = 2 .ColorIndex = -4105 End With ExcelApplication.Selection.Font.Bold = True ExcelApplication.Selection.Interior.ColorIndex = 15 ExcelApplication.Selection.HorizontalAlignment = 3 '------------------------------------------------------------------------------- ExcelApplication.Columns("B:B").EntireColumn.AutoFit ExcelApplication.Columns("C:C").EntireColumn.AutoFit ExcelWorksheet.Range("B4:C865").Select '------------------------------------------------------------------------------- ' ExcelApplication.Selection.Borders(5).LineStyle = -4142 ExcelApplication.Selection.Borders(6).LineStyle = -4142 With ExcelApplication.Selection.Borders(7) .LineStyle = 1 .Weight = 2 .ColorIndex = -4105 End With With ExcelApplication.Selection.Borders(8) .LineStyle = 1 .Weight = 2 .ColorIndex = -4105 End With With ExcelApplication.Selection.Borders(9) .LineStyle = 1 .Weight = 2 .ColorIndex = -4105 End With With ExcelApplication.Selection.Borders(10) .LineStyle = 1 .Weight = 2 .ColorIndex = -4105 End With With ExcelApplication.Selection.Borders(11) .LineStyle = 1 .Weight = 2 .ColorIndex = -4105 End With With ExcelApplication.Selection.Borders(12) .LineStyle = 1 .Weight = 2 .ColorIndex = -4105 End With ExcelApplication.Visible = True End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2006, 12:15 |
|
||
|
VBAscript
|
|||
|---|---|---|---|
|
#18+
в начале процедуры лучше I объявить так: Dim I as Long и как минимум, если строки точно есть, можно, вместо Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 09:36 |
|
||
|
VBAscript
|
|||
|---|---|---|---|
|
#18+
sergeyvgв начале процедуры лучше I объявить так: Dim I as LongНикаких As! VBscript использует только Variant. Такие строчки ExcelWorksheet.Range("C2")="ÈÌß" Лучше заменять такими ExcelWorksheet.Cells(2,3)="ÈÌß" Особенно в цикле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 10:05 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34110950&tid=2165012]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
181ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 529ms |

| 0 / 0 |
