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

Вообще у меня один Range, просто там несвязные диапазоны (как я и писал - C12:C16 и D11:H11) и мне надо получить Range C11:H16
...
Рейтинг: 0 / 0
18.08.2010, 13:09
    #36797635
Диам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - сделать выделение, включающее два выделения
fortik, спасибо, разобрался. Однако по такому принципу выделяется весь диапазон от левого верхнего угла начального выделения до нижнего правого НЕ МОЕГО диапазона, а того, в котором есть текст.... Как узнать сколько строк занимает выделенный диапазон?
...
Рейтинг: 0 / 0
18.08.2010, 13:15
    #36797647
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - сделать выделение, включающее два выделения
Эх забытыеощущения удовлетворенности красивым решением :)
Код: 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
18.08.2010, 13:19
    #36797657
Excel - сделать выделение, включающее два выделения
Диам,
дешево и сердито...
Код: 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
18.08.2010, 15:16
    #36797999
Диам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - сделать выделение, включающее два выделения
Deggasad,
спасибо. Все получилось )
...
Рейтинг: 0 / 0
18.08.2010, 15:33
    #36798067
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - сделать выделение, включающее два выделения
Еще вариант:

Код: 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
18.08.2010, 15:35
    #36798073
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - сделать выделение, включающее два выделения
Или еще короче:

Код: 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
18.08.2010, 21:25
    #36798887
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - сделать выделение, включающее два выделения
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
26.08.2010, 22:47
    #36814265
Диам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - сделать выделение, включающее два выделения
Люди, а если есть диапазон, который состоит из разных несвязанных ячеек, тогда как определить левую верхнюю и правую нижнюю ячейку. Это нужно, чтобы в итоге получить в диапазоне - целую область от лев.верхнего до прав.нижнего угла.
если например r.Address имеет такое значение:
$E$2,$A$5:$A$10,$I$5:$I$10
а в итоге надо получить E2:I10
...
Рейтинг: 0 / 0
26.08.2010, 23:10
    #36814293
Диам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - сделать выделение, включающее два выделения
то есть надо получить A2:I10
...
Рейтинг: 0 / 0
26.08.2010, 23:30
    #36814320
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - сделать выделение, включающее два выделения
Код: 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
26.08.2010, 23:51
    #36814339
Диам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - сделать выделение, включающее два выделения
KL (XL), круто, а я уже целую процедуру нагородил! ))
...
Рейтинг: 0 / 0
26.08.2010, 23:57
    #36814345
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - сделать выделение, включающее два выделения
На самом деле, это решение в некоторой мере уже присутствовало в моем сообщении от 18 авг 10, 15:33 :-)
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel - сделать выделение, включающее два выделения / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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