У меня есть макрос, который форматирует ячейки в зависимости от условия.
Вот код:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Set MyPlage = Sheets("Report").Range("E13:E1500")
For Each Cell In MyPlage
If Cell.Value = "L" Then
Cell.Borders.ColorIndex = 1
Cell.Font.ColorIndex = 3
ElseIf Cell.Value = "K" Then
Cell.Borders.ColorIndex = 1
Cell.Font.ColorIndex = 44
ElseIf Cell.Value = "J" Then
Cell.Borders.ColorIndex = 1
Cell.Font.ColorIndex = 10
ElseIf Cell.Value = "ü" Then
Cell.Borders.ColorIndex = 1
ElseIf Cell.Value = "" And Cell.Offset(0, 1).Value <> "" Then
Cell.Borders.ColorIndex = 1
Else
Cell.Borders.ColorIndex = 2
End If
Next
Макрос выполняется перед сохранением книги.
Он отлично работает от Excel.
Моя проблема в том, что у меня есть приложение C #, которое открывает этот файл Excel и обновляет его данными.
Когда я сохраняю файл (из кода) и открываю файл (с рабочего стола или из любого места), я вижу, что макрос запущен, но цвета (форматирование) не подходят для определенных ячеек.
Например, если значение ячейки «ОК», формат макроса ячейки должен иметь цвет «красный».
Когда я сохраняю книгу из Excel, все ячейки со значением «ОК» имеют красный цвет. Отлично!
Но когда я запускаю свое приложение, которое открывает файл, вносит изменения и сохраняет его, некоторые ячейки «ОК» имеют «красный» (отлично!), А другие «зеленый» (плохо!).
У кого-нибудь есть идея?
Спасибо