powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / MS Excel - запрос к базе данных
7 сообщений из 7, страница 1 из 1
MS Excel - запрос к базе данных
    #34612508
Galustov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
доброе время суток всем!

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

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

End Sub
...
Рейтинг: 0 / 0
MS Excel - запрос к базе данных
    #34614013
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или, можно после вывада всех данных выполнить это (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
MS Excel - запрос к базе данных
    #34614268
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vbaproили, можно после вывада всех данных выполнить это (Sh - лист, который заполнял)
Код: plaintext
1.
2.
Sub Decorate(Sh As Worksheet)
        With Sh.Range("A1").CurrentRegion
 

CurrentRegion - это плохо, если есть разрыв, то не на всём диапазоне отработает.
лучше usedrange, или определять последнюю строку и столбец.
...
Рейтинг: 0 / 0
MS Excel - запрос к базе данных
    #34614379
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkodorCurrentRegion - это плохо, если есть разрыв, то не на всём диапазоне отработает.
лучше usedrange, или определять последнюю строку и столбец. в общем случае, согласен, но здесь данные получены из внешнего источника и разрывы маловероятны.
...
Рейтинг: 0 / 0
MS Excel - запрос к базе данных
    #34614422
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vbapro vkodorCurrentRegion - это плохо, если есть разрыв, то не на всём диапазоне отработает.
лучше usedrange, или определять последнюю строку и столбец. в общем случае, согласен, но здесь данные получены из внешнего источника и разрывы маловероятны.
Пустые поля легко могут быть, только недавно исправлял ошибки, вставка была через CopyFromRecordset.
...
Рейтинг: 0 / 0
MS Excel - запрос к базе данных
    #34616799
kyber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что мешает работать с автоформатом данных? ("Свойства диапазона данных..." -> "автоформат данных" или на 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
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / MS Excel - запрос к базе данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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