VBA. Выделить диапазон. Что делаю не так?
Michael_S
Дата: Воскресенье, 23.10.2011, 02:43 |
Сообщение № 1
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация:
373
±
Замечаний:
0% ±
Excel2016
Задача такая - вызвать форму, выделить диапазон, закрыть форму. При этом диапазон должен остаться выделенным. Что у меня не так?
Задача такая - вызвать форму, выделить диапазон, закрыть форму. При этом диапазон должен остаться выделенным. Что у меня не так? Michael_S
Ответить
Сообщение Задача такая - вызвать форму, выделить диапазон, закрыть форму. При этом диапазон должен остаться выделенным. Что у меня не так? Автор - Michael_S Дата добавления - 23.10.2011 в 02:43
RAN
Дата: Воскресенье, 23.10.2011, 03:10 |
Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
В общий модуль Code
Sub qqq() Dim MHL$ MHL = Application.InputBox("Диапазон Михаила", , , , , , , 8).Address Range(MHL).Select End Sub
А форма зачем?
В общий модуль Code
Sub qqq() Dim MHL$ MHL = Application.InputBox("Диапазон Михаила", , , , , , , 8).Address Range(MHL).Select End Sub
А форма зачем? RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение В общий модуль Code
Sub qqq() Dim MHL$ MHL = Application.InputBox("Диапазон Михаила", , , , , , , 8).Address Range(MHL).Select End Sub
А форма зачем? Автор - RAN Дата добавления - 23.10.2011 в 03:10
Michael_S
Дата: Воскресенье, 23.10.2011, 03:28 |
Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация:
373
±
Замечаний:
0% ±
Excel2016
Quote (RAN )
А форма зачем?
Да я почитал справку по InputBox - не нашел, как это делать. зы. Еще один вопрос, попутно. Знаем букву столбца,например "C". Как определить его номер (3) - считать, или есть более простой вариант?
Quote (RAN )
А форма зачем?
Да я почитал справку по InputBox - не нашел, как это делать. зы. Еще один вопрос, попутно. Знаем букву столбца,например "C". Как определить его номер (3) - считать, или есть более простой вариант?Michael_S
Ответить
Сообщение Quote (RAN )
А форма зачем?
Да я почитал справку по InputBox - не нашел, как это делать. зы. Еще один вопрос, попутно. Знаем букву столбца,например "C". Как определить его номер (3) - считать, или есть более простой вариант?Автор - Michael_S Дата добавления - 23.10.2011 в 03:28
Pavel55
Дата: Воскресенье, 23.10.2011, 04:23 |
Сообщение № 4
Группа: Друзья
Ранг: Прохожий
Сообщений: 5
Репутация:
6
±
Замечаний:
0% ±
MsgBox Cells(1, "C").Column
Ответить
Сообщение MsgBox Cells(1, "C").Column Автор - Pavel55 Дата добавления - 23.10.2011 в 04:23
Pavel55
Дата: Воскресенье, 23.10.2011, 04:30 |
Сообщение № 5
Группа: Друзья
Ранг: Прохожий
Сообщений: 5
Репутация:
6
±
Замечаний:
0% ±
По поводу диапазона, я бы посоветовал доработать вариант от Ran Sub qqq2() Dim Rng As Range On Error Resume Next Set Rng = Application.InputBox("Диапазон Михаила", , , , , , , 8) On Error GoTo 0 If Rng Is Nothing Then Exit Sub Rng.Select End Sub 1) данный код позволяет корректно обрабатывать нажатие кнопки "Отмена" в InputBox 2) мы сразу присваиваем объектной переменной диапазон с корректным типом Range, что упростит обращение к нему в коде, т.к. сразу пишем Rng... и дальше (вместо Range(строка)....)
По поводу диапазона, я бы посоветовал доработать вариант от Ran Sub qqq2() Dim Rng As Range On Error Resume Next Set Rng = Application.InputBox("Диапазон Михаила", , , , , , , 8) On Error GoTo 0 If Rng Is Nothing Then Exit Sub Rng.Select End Sub 1) данный код позволяет корректно обрабатывать нажатие кнопки "Отмена" в InputBox 2) мы сразу присваиваем объектной переменной диапазон с корректным типом Range, что упростит обращение к нему в коде, т.к. сразу пишем Rng... и дальше (вместо Range(строка)....) Pavel55
Ответить
Сообщение По поводу диапазона, я бы посоветовал доработать вариант от Ran Sub qqq2() Dim Rng As Range On Error Resume Next Set Rng = Application.InputBox("Диапазон Михаила", , , , , , , 8) On Error GoTo 0 If Rng Is Nothing Then Exit Sub Rng.Select End Sub 1) данный код позволяет корректно обрабатывать нажатие кнопки "Отмена" в InputBox 2) мы сразу присваиваем объектной переменной диапазон с корректным типом Range, что упростит обращение к нему в коде, т.к. сразу пишем Rng... и дальше (вместо Range(строка)....) Автор - Pavel55 Дата добавления - 23.10.2011 в 04:30
Michael_S
Дата: Воскресенье, 23.10.2011, 05:21 |
Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация:
373
±
Замечаний:
0% ±
Excel2016
Quote (_Boroda_ )
Можно еще так: n = AscW("C") - 64
А если столбец "AB"?
Quote (_Boroda_ )
Можно еще так: n = AscW("C") - 64
А если столбец "AB"?Michael_S
Ответить
Сообщение Quote (_Boroda_ )
Можно еще так: n = AscW("C") - 64
А если столбец "AB"?Автор - Michael_S Дата добавления - 23.10.2011 в 05:21
_Boroda_
Дата: Воскресенье, 23.10.2011, 05:29 |
Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16714
Репутация:
6503
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Тогда конечно проще Cells(1, "C").Column или Range("C" & 1).Column
Тогда конечно проще Cells(1, "C").Column или Range("C" & 1).Column _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Тогда конечно проще Cells(1, "C").Column или Range("C" & 1).Column Автор - _Boroda_ Дата добавления - 23.10.2011 в 05:29
nerv
Дата: Воскресенье, 23.10.2011, 16:34 |
Сообщение № 8
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Quote (Michael_S )
А если столбец "AB"?
Code
Sub io() MsgBox Columns("C").Column MsgBox Columns("AB").Column End Sub
Quote (Michael_S )
Задача такая - вызвать форму, выделить диапазон
Code
Sub io2() On Error Resume Next Application.InputBox("Message", "Title", Type:=8).Select End Sub
Quote (Michael_S )
Да я почитал справку по InputBox - не нашел, как это делать.
Курсор в InputBox, F1. Тогда сразу поймете почему Type:=8
Quote (Michael_S )
А если столбец "AB"?
Code
Sub io() MsgBox Columns("C").Column MsgBox Columns("AB").Column End Sub
Quote (Michael_S )
Задача такая - вызвать форму, выделить диапазон
Code
Sub io2() On Error Resume Next Application.InputBox("Message", "Title", Type:=8).Select End Sub
Quote (Michael_S )
Да я почитал справку по InputBox - не нашел, как это делать.
Курсор в InputBox, F1. Тогда сразу поймете почему Type:=8nerv
Чебурашка стал символом олимпийских игр. А чего достиг ты? Тишина - самый громкий звук YM 41001156540584 / WM WMR R21924176233 https://github.com/nervgh/vba
Сообщение отредактировал nerv - Воскресенье, 23.10.2011, 16:36
Ответить
Сообщение Quote (Michael_S )
А если столбец "AB"?
Code
Sub io() MsgBox Columns("C").Column MsgBox Columns("AB").Column End Sub
Quote (Michael_S )
Задача такая - вызвать форму, выделить диапазон
Code
Sub io2() On Error Resume Next Application.InputBox("Message", "Title", Type:=8).Select End Sub
Quote (Michael_S )
Да я почитал справку по InputBox - не нашел, как это делать.
Курсор в InputBox, F1. Тогда сразу поймете почему Type:=8Автор - nerv Дата добавления - 23.10.2011 в 16:34