powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel - сделать выделение, включающее два выделения
15 сообщений из 15, страница 1 из 1
Excel - сделать выделение, включающее два выделения
    #36797419
Диам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как можно имея два выделения (C12:C16 и D11:H11) получить Range (C11:H16) ?
---------------------------------
http://diamfc.oratau.com - блок-схема за пять минут!!!
...
Рейтинг: 0 / 0
Excel - сделать выделение, включающее два выделения
    #36797504
fortik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
range("").end(xlDown).Row, range("").end(xlRight).column
...
Рейтинг: 0 / 0
Excel - сделать выделение, включающее два выделения
    #36797557
Диам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fortik, можете написать поподробнее? НАсколько я понял из справки результат каждого приведенного вами действия - это Range.

Вообще у меня один Range, просто там несвязные диапазоны (как я и писал - C12:C16 и D11:H11) и мне надо получить Range C11:H16
...
Рейтинг: 0 / 0
Excel - сделать выделение, включающее два выделения
    #36797635
Диам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fortik, спасибо, разобрался. Однако по такому принципу выделяется весь диапазон от левого верхнего угла начального выделения до нижнего правого НЕ МОЕГО диапазона, а того, в котором есть текст.... Как узнать сколько строк занимает выделенный диапазон?
...
Рейтинг: 0 / 0
Excel - сделать выделение, включающее два выделения
    #36797647
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эх забытыеощущения удовлетворенности красивым решением :)
Код: plaintext
1.
2.
    Set a = Union(Range("C12:C16"), Range("D11:H11"))
    Set a = Intersect(a.EntireRow, a.EntireColumn)
    Debug.Print a.Address
...
Рейтинг: 0 / 0
Excel - сделать выделение, включающее два выделения
    #36797657
Диам,
дешево и сердито...
Код: plaintext
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.
Public Function min&(a As Range, b As Range, c As Byte)
Dim a_min&, b_min&
    If c =  0  Then 'minimum row requared
        a_min = a.Row: b_min = b.Row
    Else 'minimum column requared
        a_min = a.Column: b_min = b.Column
    End If
    If a_min > b_min Then min = b_min Else min = a_min
End Function

Public Function max&(a As Range, b As Range, c As Byte)
Dim a_max&, b_max&
    If c =  0  Then 'max row requared
        a_max = a.Cells(a.Cells.Count).Row
        b_max = b.Cells(b.Cells.Count).Row
    Else 'max column requared
        a_max = a.Cells(a.Cells.Count).Column
        b_max = b.Cells(b.Cells.Count).Column
    End If
    If a_max > b_max Then max = a_max Else max = b_max
End Function


Sub test()

    Debug.Print _
    Range(Cells(min([C12:C16], [D11:H11],  0 ), min([C12:C16], [D11:H11],  1 )), _
            Cells(max([C12:C16], [D11:H11],  0 ), max([C12:C16], [D11:H11],  1 ))).Address

End Sub
...
Рейтинг: 0 / 0
Excel - сделать выделение, включающее два выделения
    #36797999
Диам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deggasad,
спасибо. Все получилось )
...
Рейтинг: 0 / 0
Excel - сделать выделение, включающее два выделения
    #36798067
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще вариант:

Код: plaintext
1.
2.
3.
4.
Sub test()
    Dim rng As Range
    Set rng = Range([C12:C16].Address & ":" & [D11:H11].Address)
    MsgBox rng.Address
End Sub
...
Рейтинг: 0 / 0
Excel - сделать выделение, включающее два выделения
    #36798073
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или еще короче:

Код: plaintext
1.
2.
3.
4.
Sub test()
    Dim rng As Range
    Set rng = Range([C12:C16], [D11:H11])
    MsgBox rng.Address
End Sub
...
Рейтинг: 0 / 0
Excel - сделать выделение, включающее два выделения
    #36798887
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)Или еще короче:

Код: plaintext
1.
2.
3.
4.
Sub test()
    Dim rng As Range
    Set rng = Range([C12:C16], [D11:H11])
    MsgBox rng.Address
End Sub


точно!
а я думаю что-то я забыл про эти диапазоны :)
...
Рейтинг: 0 / 0
Excel - сделать выделение, включающее два выделения
    #36814265
Диам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Люди, а если есть диапазон, который состоит из разных несвязанных ячеек, тогда как определить левую верхнюю и правую нижнюю ячейку. Это нужно, чтобы в итоге получить в диапазоне - целую область от лев.верхнего до прав.нижнего угла.
если например r.Address имеет такое значение:
$E$2,$A$5:$A$10,$I$5:$I$10
а в итоге надо получить E2:I10
...
Рейтинг: 0 / 0
Excel - сделать выделение, включающее два выделения
    #36814293
Диам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то есть надо получить A2:I10
...
Рейтинг: 0 / 0
Excel - сделать выделение, включающее два выделения
    #36814320
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
Sub test2()
    Dim rng As Range
    Set rng = [$E$ 2 ,$A$ 5 :$A$ 10 ,$I$ 5 :$I$ 10 ]
    Set rng = Range(Replace(rng.Address, ",", ":"))
    MsgBox rng.Address
End Sub
...
Рейтинг: 0 / 0
Excel - сделать выделение, включающее два выделения
    #36814339
Диам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL), круто, а я уже целую процедуру нагородил! ))
...
Рейтинг: 0 / 0
Excel - сделать выделение, включающее два выделения
    #36814345
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле, это решение в некоторой мере уже присутствовало в моем сообщении от 18 авг 10, 15:33 :-)
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel - сделать выделение, включающее два выделения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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