Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / подскажите новичку в VBA / 7 сообщений из 7, страница 1 из 1
27.08.2009, 18:39
    #36166878
graywolf_too
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подскажите новичку в VBA
Почему не работает в Excel?

Sub dfsdf()
Dim pl As Worksheet
Set pl = Worksheets("Лист1")
pl.Range("B2").Select
End Sub

Пишет ошибку Run-time 1004
Метод Select класса Range завершен неверно
...
Рейтинг: 0 / 0
27.08.2009, 19:00
    #36166902
Valihan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подскажите новичку в VBA
pl.Range("B2").Select ==> Не совсем понятно что вы хотите сделать

Я незнаю точно но библиотеку вы потключили ?
...
Рейтинг: 0 / 0
28.08.2009, 21:07
    #36168773
YUBA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подскажите новичку в VBA
graywolf_tooПочему не работает в Excel?

Sub dfsdf()
Dim pl As Worksheet
Set pl = Worksheets("Лист1")
pl.Range("B2").Select
End Sub

Пишет ошибку Run-time 1004
Метод Select класса Range завершен неверно Ваш код выделяет ячейку. работает. ошибок нет.
...
Рейтинг: 0 / 0
31.08.2009, 10:54
    #36170078
sergeyvg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подскажите новичку в VBA
Sub dfsdf()
Dim pl As Worksheet
Set pl = Worksheets("Лист1")
Код: plaintext
pl.Activate
pl.Range("B2").Select
End Sub
...
Рейтинг: 0 / 0
31.08.2009, 14:26
    #36170675
graywolf_too
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подскажите новичку в VBA
работает только если предварительно сделать вызов Activate
пока делают так, но все равно странно, почему не работает без этого
...
Рейтинг: 0 / 0
01.09.2009, 14:11
    #36172675
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подскажите новичку в VBA
> Автор: graywolf_too
> работает только если предварительно сделать вызов Activate
> пока делают так, но все равно странно, почему не работает без этого

А почему оно должно работать без этого?
Select это аналог выбора одной или нескольких ячеек на листе, как можно выбрать ячейки на скрытом листе?
А метод Activate:
Help VBAActivate method as it applies to the Worksheet object.
Makes the current sheet the active sheet. Equivalent to clicking the sheet's tab.

Как раз аналог клика по ярлыку листа.

Таким образом получается, что сначала нужно выбрать лист, на котором будем выделять область ячеек,

а потом, только, можно сделать Select для ячеек.

Можно не делать Activate для листа, но тогда не нужно делать и Select для ячеек, а сразу им что-то присваивать. Например
так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Option Explicit

Sub Sample1()
Dim r As Range
Set r = Worksheets("Лист3").Range("A1")
MsgBox r.Text
r.Value = "Мама мыла раму"
MsgBox r.Text
Set r = Nothing
End Sub

После выполнения макроса на "Лист3" в ячейке А1 будет строка "Мама мыла раму".


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
04.09.2009, 13:06
    #36178826
YUBA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подскажите новичку в VBA
sergeyvgSub dfsdf()
Dim pl As Worksheet
Set pl = Worksheets("Лист1")
Код: plaintext
pl.Activate
pl.Range("B2").Select
End SubActivate делать совершенно не нужно. Ячейка выберется в любом случае. Так-же как и записать в ячейку можно без активейта.
Если лист уже открыт, то тем более активейт ни к чему. Нужен только, если нужно сделать лист видимым.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / подскажите новичку в VBA / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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