|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.08.2009, 13:53 | #1 |
Регистрация: 18.08.2009
Сообщений: 2
|
изменить часть объединенной ячейки невозможно
Добрый день, вечер.
В VBA я ну совсем не силен и случилась у меня такая беда при выполнении скрипта (будет выложен ниже) возникает ошибка Run-time error '1004': Изменить часть обьединенной ячейки невозможно. "Дебугер" указывает на ошибку в строчке Range("B2:BL67").ClearContents Подскажите в чём может быть проблема. Код макроса не менялся. Операция стандартная, всё работало на протяжении нескольких лет. код макроса Sub Макрос1() ' ' Макрос1 Макрос ' Макрос записан 04.06.01 (Шубин) ' ' Selection.AutoFilter Field:=1, Criteria1:=">0", Operator:=xlAnd End Sub Sub Макрос2() ' ' Макрос2 Макрос ' Макрос записан 04.06.01 (Шубин) ' ' Selection.AutoFilter Field:=1 End Sub Function Find1(Mass, P, y) For N = 1 To P If Mass(N, 1) = y Then Find1 = N Exit For End If Next N End Function Function Find(Mass, P, y) For N = 1 To P If Mass(1, N) = y Then Find = N Exit For End If Next N End Function Sub Анализ() Dim Mass() Dim s As String ind = 1 For C = 2 To 67 ind = ind + 1 ReDim Preserve Mass(1 To 64, 1 To ind) For N = 2 To 64 Mass(N, 1) = Cells(1, N) ' дата Mass(1, ind) = Cells(C, 1) Mass(N, ind) = 0 ' время Next N Next C H = InputBox("Введите номер первого файла") If H = "" Then GoTo Label1 End If J = InputBox("Введите номер последнего файла") If J = "" Then GoTo Label1 End If D = Int(H) A = Int(J) G = 0 ChDir "C:\Текущие договоры\" For F = H To J s = Str(F) Set fs = New MyFileSearch fs.LookIn = "C:\Текущие договоры\" fs.FileName = "Авторадио" + s + ".XLS" If fs.Execute() > 0 Then Workbooks.Open FileName:="C:\Текущие договоры\Авторадио" + s + ".xls" Sheets("Медиаплан").Select If Cells(24, 4) < Mass(64, 1) Then If Cells(24, 66) > Mass(2, 1) Then For N = 4 To 66 R = Find1(Mass, 64, Cells(24, N)) If R <> 0 Then For C = 29 To 94 If Cells(C, N) <> "" Then W = Find(Mass, ind, Cells(C, 2)) If W > 0 Then Mass(R, W) = Mass(R, W) + Cells(C, N) End If End If Next C End If Next N End If End If ActiveWorkbook.Close End If Next F Range("B2:BL67").ClearContents For N = 2 To ind For C = 2 To 64 Cells(N, C) = Mass(C, N) Next C Next N Label1: End Sub Спасибо всем откликнувшимся ! |
18.08.2009, 14:04 | #2 |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
Да элементарно, как я полагаю. Вам VBA сам сказал в чем проблема. У Вас в этом B2:BL67 диапазоне расположены объединенные ячейки, объединение которых выходит за рамки указанного диапазона. Т.е. какая-то ячейка имеет границы, выходящие за указанный диапазон. Это либо B1:Bn,либо BL67:BLn, либо A1:Bn и т.д.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru Последний раз редактировалось The_Prist; 18.08.2009 в 14:06. |
18.08.2009, 15:22 | #3 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
|
19.08.2009, 10:02 | #4 |
Регистрация: 18.08.2009
Сообщений: 2
|
!
Спасибо всем кто ответил, но пока что проблема не решена.
Ошибка не появляется но результата тоже нет ) курю... |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как залить часть ячейки таблицы? | Stilet | JavaScript, Ajax | 4 | 12.08.2009 14:39 |
Скопировать выделенную часть ячейки! | nikolai_P | Microsoft Office Excel | 8 | 05.05.2009 12:27 |
как скопировать часть объединенной ячейки? | Азамат | Microsoft Office Excel | 20 | 14.07.2008 22:50 |
изменить формат ячейки | natali | Microsoft Office Excel | 2 | 08.10.2007 12:40 |
Как вытащить только часть символов из ячейки? | Berkley | Microsoft Office Excel | 5 | 22.12.2006 00:43 |