Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / MS Excel - запрос к базе данных / 7 сообщений из 7, страница 1 из 1
22.06.2007, 05:27:42
    #34612508
Galustov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Excel - запрос к базе данных
доброе время суток всем!

у меня есть файл MS Excel, который получает внешние данные из базы MS Access
вопрос: как сделать так, чтобы при все ячейки были отформатированы как нужно?
другими словами если строк становится больше или меньше "решётка" в екселе должна рисовацца на всём диапазоне данных?

спасибо!
...
Рейтинг: 0 / 0
22.06.2007, 08:56:36
    #34612655
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Excel - запрос к базе данных
Покажи каким способом Excel получает данные.
Скорей всего придется юзать событие у листа.
Код: plaintext
1.
2.
Private Sub Worksheet_Change(ByVal Target As Range)

End Sub
...
Рейтинг: 0 / 0
22.06.2007, 15:19:41
    #34614013
vbapro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Excel - запрос к базе данных
или, можно после вывада всех данных выполнить это (Sh - лист, который заполнял)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Sub Decorate(Sh As Worksheet)
    With Sh.Cells
        .Borders(xlEdgeLeft).LineStyle = xlNone
        .Borders(xlEdgeTop).LineStyle = xlNone
        .Borders(xlEdgeBottom).LineStyle = xlNone
        .Borders(xlEdgeRight).LineStyle = xlNone
        .Borders(xlInsideVertical).LineStyle = xlNone
        .Borders(xlInsideHorizontal).LineStyle = xlNone
    End With
    
    With Sh.Range("A1").CurrentRegion
        .Borders(xlEdgeLeft).LineStyle = xlContinuous
        .Borders(xlEdgeTop).LineStyle = xlContinuous
        .Borders(xlEdgeBottom).LineStyle = xlContinuous
        .Borders(xlEdgeRight).LineStyle = xlContinuous
        .Borders(xlInsideVertical).LineStyle = xlContinuous
        .Borders(xlInsideHorizontal).LineStyle = xlContinuous
    End With
End Sub
...
Рейтинг: 0 / 0
22.06.2007, 16:23:23
    #34614268
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Excel - запрос к базе данных
vbaproили, можно после вывада всех данных выполнить это (Sh - лист, который заполнял)
Код: plaintext
1.
2.
Sub Decorate(Sh As Worksheet)
        With Sh.Range("A1").CurrentRegion
 

CurrentRegion - это плохо, если есть разрыв, то не на всём диапазоне отработает.
лучше usedrange, или определять последнюю строку и столбец.
...
Рейтинг: 0 / 0
22.06.2007, 16:56:30
    #34614379
vbapro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Excel - запрос к базе данных
vkodorCurrentRegion - это плохо, если есть разрыв, то не на всём диапазоне отработает.
лучше usedrange, или определять последнюю строку и столбец. в общем случае, согласен, но здесь данные получены из внешнего источника и разрывы маловероятны.
...
Рейтинг: 0 / 0
22.06.2007, 17:10:18
    #34614422
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Excel - запрос к базе данных
vbapro vkodorCurrentRegion - это плохо, если есть разрыв, то не на всём диапазоне отработает.
лучше usedrange, или определять последнюю строку и столбец. в общем случае, согласен, но здесь данные получены из внешнего источника и разрывы маловероятны.
Пустые поля легко могут быть, только недавно исправлял ошибки, вставка была через CopyFromRecordset.
...
Рейтинг: 0 / 0
25.06.2007, 11:37:46
    #34616799
kyber
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Excel - запрос к базе данных
А что мешает работать с автоформатом данных? ("Свойства диапазона данных..." -> "автоформат данных" или на VBA свойство QueryTable.PreserveFormatting)

MS Excel helpFor query tables, this property is True if any formatting common to the first five rows of data are applied to new rows of data in the query table. Unused cells aren’t formatted. The property is False if the last AutoFormat applied to the query table is applied to new rows of data. The default value is True (unless the query table was created in Microsoft Excel 97 and the HasAutoFormat property is True, in which case PreserveFormatting is False).

Правда, по собственным наблюдениям со сложными форматами может и проглючить, а вот простенькую решетку одинаковыми линиями точно рисовать будет.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / MS Excel - запрос к базе данных / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]