powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Полтергейст или так задуманно?
6 сообщений из 6, страница 1 из 1
Полтергейст или так задуманно?
    #38407371
MAGRAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.
Есть лист-Excel с формой отчёта на ней. Формат *.xlsx. Хочу её редактировать. Снимаю защиту с ячеек. На проблемных ячейках вылезает ошибка о том, что ошибка в формуле. Но это не самое интересное.
Когда я пытаюсь поменять цвет заливки в этих ячейках, не происходит ничего! Когда копирую их в другое место листа они меняют цвет, причем на тот который я им не смог задать своим макросом. Его я приведу ниже. Причина не в нём.
ЧТО ЭТО МОЖЕТ БЫТЬ И КАК С ЭТИМ БОРОТЬСЯ?

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim iValue As Single
    Dim iColor As Long
    Dim iRow, iClm, iRow1 As Integer

    iRow = Selection.Cells(1).Row
    iClm = Selection.Cells(1).Column

    Select Case iRow
    Case 8 To 14
       If 9 <= iClm And iClm <= 21 Then
          iValue = Abs(Cells(13, iClm).Value)
          If 100 < iValue Then iColor = 255
          If 75 <= iValue And iValue <= 100 Then iColor = 65535#
          If iValue < 75 Then iColor = 39168
          iRow1 = 13: PrintColor iRow1, iClm, iColor
       End If
    End Select

End Sub

Sub PrintColor(ByVal iRow As Integer, _
               ByVal iClm As Integer, _
               ByVal iColor As Long)
   Cells(iRow, iClm).Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = iColor
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub
...
Рейтинг: 0 / 0
Полтергейст или так задуманно?
    #38407574
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MAGRAV,

1. Правильно задавать переменные так:
Dim iRow As Long, iClm As Integer, iRow1 As Long
As Long специально - кол-во строк может быть больше, чем 32768. А это предел для типа Integer.
2. Формул не видно.
3. Возможно для ячеек листа установлено условное форматирование или стили ячеек.
И Select не обязателен(я бы сказал - он лишний):
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Sub PrintColor(ByVal iRow As Long, _
               ByVal iClm As Integer, _
               ByVal iColor As Long)
    With Cells(iRow, iClm).Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = iColor
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub
...
Рейтинг: 0 / 0
Полтергейст или так задуманно?
    #38407973
MAGRAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ладно...

КАК МОЖНО УСТРОИТЬ ФОРМАТИРОВАНИЕ НА ЛИСТЕ EXCEL БЕЗ VBA-МАКРОСА, Т.Е. ЧТОБЫ НЕБЫЛО ВИДНО ТАКОГО КОДА?
...
Рейтинг: 0 / 0
Полтергейст или так задуманно?
    #38408161
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MAGRAVЛадно...

КАК МОЖНО УСТРОИТЬ ФОРМАТИРОВАНИЕ НА ЛИСТЕ EXCEL БЕЗ VBA-МАКРОСА, Т.Е. ЧТОБЫ НЕ БЫЛО ВИДНО ТАКОГО КОДА?не кричи, ты же взрослый человек
...
Рейтинг: 0 / 0
Полтергейст или так задуманно?
    #38408162
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Полтергейст или так задуманно?
    #38408202
MAGRAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist, Спосибо
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Полтергейст или так задуманно?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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