Итак, я работаю над инструментом отчетности в Access. Он запрашивает локальные таблицы и создает документ Excel (через VBA) и создает файл Excel.
Я использую следующий код для окраски альтернативного кода, и он прекрасно работает
For a = 1 To rs.RecordCount
With ExcelSheet
.Cells(a + 1, 1) = a
.Cells(a + 1, 1).EntireRow.Interior.ColorIndex = IIf((a + 1) Mod 2 = 0, 2, 15)
End With
Next
Примечание. Мне нужно сделать a + 1
, потому что a = 1 - строка заголовка, а это строка заголовка
Примечание: .Cells(a + 1, 1) = 1
нумерует строки (1, 2, 3, ...)
Примечание: IIf((a + 1) Mod 2 = 0, 2, 15)
2 и 15 - цветовые коды.
Теперь мой вопрос заключается в том, что когда кто-то получает отчет Excel, он может удалить строку или выполнить операцию сортировки, или что-то еще, и когда он это делает, он портит строки.
например:
1 white row
2 grey row
3 white row
4 grey row
если я сортирую их, я получаю
3 white row
1 white row
2 grey row
4 grey row
это не то, что я хочу, я хочу сохранить форматирование и нумерацию
Кто-нибудь может сделать это с помощью VBA в Access?
Tech: Office 2007