powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как определить объединены ли ячеки в Excelе
6 сообщений из 6, страница 1 из 1
Как определить объединены ли ячеки в Excelе
    #36274244
Добрый день. Возник вопрос, помогите пож-та.
Есть шаблон Excel. Скрипт vb идёт по конкретной строке и последовательно вставляет данные в ячейки. Мне нужно перед вставкой проверять, не объединена ли текущая ячейка со следующей(ими). Если да, то следующее значение выводить в ячеку, следующую за ячеками, которые входят в это объединение...
...
Рейтинг: 0 / 0
Как определить объединены ли ячеки в Excelе
    #36274272
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашёл такой код, можно использовать наверное cc.MergeArea.Rows.Count :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Sub UnMergeMine()
Dim cc As Range, cm As Range, ccm As Range
For Each cc In Selection
If cc.MergeCells Then
   If cc.MergeArea.Columns.Count >  5  Then
   Set cm = Range(cc.MergeArea.Address)
   cc.UnMerge
   End If
End If
Next cc

End Sub
...
Рейтинг: 0 / 0
Как определить объединены ли ячеки в Excelе
    #36274500
Hugo121,

Спасибо большое. Вот что получилось.
Ещё мне не нравится этот цикл...помогите от него избавиться...
(сразу говорю: только начал работать с Excel-ем и VB, так что не ругайтесь...)

'функция принимает ячейку; возвращает следующую ячейку, не входящую в объединение
Function NextUnMergeCL(rw, cl) As Integer
Dim cc As Range
ActiveSheet.Range(Cells(rw, cl), Cells(rw, cl)).Select

For Each cc In Selection
If cc.MergeCells Then NextUnMergeCL = cl + cc.MergeArea.Columns.Count
Else NextUnMergeCL = cl + 1;
Exit Function
Next cc

End Function
...
Рейтинг: 0 / 0
Как определить объединены ли ячеки в Excelе
    #36274568
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олег Мигутинстроке и последовательно вставляет данные в ячейки. Мне нужно перед вставкой проверять, не объединена ли текущая ячейка со следующей
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub UseObjectExplorer()
Dim myrange As Range
Dim iData As Integer

iData =  5 
Set myrange = Cells( 4 ,  3 )

If myrange.MergeArea.Address = myrange.Address Then ' ячейка не входит в объеденение
    myrange.Value = iData
Else ' ячейка не входит в объеденение
    myrange.MergeArea.Offset( 1 ,  0 ).Value = iData
End If

End Sub

Здесь:
Код: plaintext
Function NextUnMergeCL(rw, cl) As Integer
NextUnMergeCL(rw, cl) = NextUnMergeCL(rw as variant, cl as variant) - очень ресурсозатратно.
Лучше так
Код: plaintext
NextUnMergeCL(rw as integer, cl as byte)

ТСсразу говорю: только начал работать с Excel-ем и VB
Совет: научитесь пользоваться Object Explorer'ом
...
Рейтинг: 0 / 0
Как определить объединены ли ячеки в Excelе
    #36274575
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильные комменты...
Код: plaintext
1.
2.
3.
4.
If myrange.MergeArea.Address = myrange.Address Then ' ячейка не входит в объеденение
    myrange.Value = iData
Else ' ячейка входит в объеденение
    myrange.MergeArea.Offset( 1 ,  0 ).Value = iData
End If
...
Рейтинг: 0 / 0
Как определить объединены ли ячеки в Excelе
    #36274628
MaximuS_G,

=)))) Спасибо большое
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как определить объединены ли ячеки в Excelе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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