Новости:

Из правил форума: Тема должна отражать суть вопроса, топики типа "help please" будут удаляться!

Главное меню

Как избежать ошибку 1004?

Автор BigO, 07.05.2012, 16:35

« назад - далее »

BigO

Здравствуйте!

Помогите, пожалуйста, с устранением ошибки.
При обработке сводной таблицы код приведенный ниже работает корректно лишь при наличии полного ряда данных от 1 до "MaxMon":

Sub MonthColor()

For MonCol = 1 To MaxMon

    If MonCol >= 1 And MonCol <= 6 Then
    ActiveSheet.PivotTables("MonthPivot").PivotSelect MonCol, xlDataAndLabel, True
    With Selection.Interior
        .ColorIndex = 2
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
    End With
    End If
   
    If MonCol >= 7 And MonCol <= 12 Then
    ActiveSheet.PivotTables("MonthPivot").PivotSelect MonCol, xlDataAndLabel, True
    With Selection.Interior
        .ColorIndex = 24
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
    End With
    End If
   
    If MonCol >= 13 And MonCol <= 18 Then
    ActiveSheet.PivotTables("MonthPivot").PivotSelect MonCol, xlDataAndLabel, True
    With Selection.Interior
        .ColorIndex = 35
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
    End With
    End If

    If MonCol >= 19 Then
    ActiveSheet.PivotTables("MonthPivot).PivotSelect MonCol, xlDataAndLabel, True
    With Selection.Interior
        .ColorIndex = 6
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
    End With
    End If

Next MonCol

End Sub


Если же какой-либо элемент отсутствует - выдается сообщение об ошибке 1004.
При вставке в начале цикла "On Error Resume Next"  заливка цвета производится некорректно.
Как избежать ошибки и, при этом, получить правильно "разукрашенную" таблицу?

Заранее благодарен.

Poltava

Если бы помимо кода вы бы сам файл выложили то думаю вам быстрей бы ответили
Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.

BigO

Прошу прощения.
Вот пример файла:

Poltava

Ну вот опять А ГДЕ ФАЙЛ в котором есть макрос который при запуске выдает ошибку?
Или нам и здесь на кофейной гуще гадать нужно?
Макрос приведенный вами выше  не срабатывает ни разу так как условия для выполнения цикла не выполняется. То есть For MonCol = 1 To MaxMon MaxMon не присваиваеться нигде значение следовательно цикл не выполняется ни разу.
Убедительная просьба если хотите чтоб вам помогали то выкладывайте файлы согласующиеся с вашим вопросом. То есть если вы спросили
ЦитироватьКак избежать ошибку 1004?
Будьте добры приложить файл в котором эта ошибка у вас присутствует!!!
Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.