pabchek
Дата: Пятница, 14.10.2016, 17:27 |
Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 931
Репутация:
218
±
Замечаний:
0% ±
Excel 2007
Пятничного всем настроения! Схожу с ума. Пятница? Объявляю массив. Вроде с вполне явными координатами. Но, если в момент выполнения макроса активен "другой" лист, в моем примере "Лист2", то он пытается взять оттуда, и, соответственно ошибка. Где я дурака валяю? Подскажите, плз.
[vba]
Код
Sub проба_() Dim массив_ As Range Dim r1_%, c1_% With Sheets("Лист1") r1_ = .Range("A" & Rows.Count).End(xlUp).Row c1_ = .Cells(1, Columns.Count).End(xlToLeft).Column Set массив_ = .Range(Cells(1, 1), Cells(r1_, c1_)) End With MsgBox массив_(3, 2) End Sub
[/vba]
Пятничного всем настроения! Схожу с ума. Пятница? Объявляю массив. Вроде с вполне явными координатами. Но, если в момент выполнения макроса активен "другой" лист, в моем примере "Лист2", то он пытается взять оттуда, и, соответственно ошибка. Где я дурака валяю? Подскажите, плз.
[vba]
Код
Sub проба_() Dim массив_ As Range Dim r1_%, c1_% With Sheets("Лист1") r1_ = .Range("A" & Rows.Count).End(xlUp).Row c1_ = .Cells(1, Columns.Count).End(xlToLeft).Column Set массив_ = .Range(Cells(1, 1), Cells(r1_, c1_)) End With MsgBox массив_(3, 2) End Sub
[/vba]
pabchek
"Учиться, учиться и еще раз учиться!" WM: R399923528092
Сообщение отредактировал pabchek - Пятница, 14.10.2016, 17:27
Ответить
Сообщение Пятничного всем настроения! Схожу с ума. Пятница? Объявляю массив. Вроде с вполне явными координатами. Но, если в момент выполнения макроса активен "другой" лист, в моем примере "Лист2", то он пытается взять оттуда, и, соответственно ошибка. Где я дурака валяю? Подскажите, плз.
[vba]
Код
Sub проба_() Dim массив_ As Range Dim r1_%, c1_% With Sheets("Лист1") r1_ = .Range("A" & Rows.Count).End(xlUp).Row c1_ = .Cells(1, Columns.Count).End(xlToLeft).Column Set массив_ = .Range(Cells(1, 1), Cells(r1_, c1_)) End With MsgBox массив_(3, 2) End Sub
[/vba]
Автор - pabchek Дата добавления - 14.10.2016 в 17:27
Hugo
Дата: Пятница, 14.10.2016, 17:28 |
Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3250
Репутация:
707
±
Замечаний:
0% ±
2019
Тут: [vba]Код
Set массив_ = .Range(Cells(1, 1), Cells(r1_, c1_))
[/vba] чьи cells? Не расстраивайтесь, это стандартная ошибка.
Тут: [vba]Код
Set массив_ = .Range(Cells(1, 1), Cells(r1_, c1_))
[/vba] чьи cells? Не расстраивайтесь, это стандартная ошибка. Hugo
excel@nxt.ru webmoney: E265281470651 Z422237915069
Сообщение отредактировал Hugo - Пятница, 14.10.2016, 17:30
Ответить
Сообщение Тут: [vba]Код
Set массив_ = .Range(Cells(1, 1), Cells(r1_, c1_))
[/vba] чьи cells? Не расстраивайтесь, это стандартная ошибка. Автор - Hugo Дата добавления - 14.10.2016 в 17:28
pabchek
Дата: Пятница, 14.10.2016, 17:30 |
Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 931
Репутация:
218
±
Замечаний:
0% ±
Excel 2007
Вот жеж... Надо срочно идти за пивом Спасибо! [p.s.]Чтобы корректно завершить тему пишу как надо) [vba]Код
Set массив_ = .Range(.Cells(1, 1), .Cells(r1_, c1_))
[/vba]
Вот жеж... Надо срочно идти за пивом Спасибо! [p.s.]Чтобы корректно завершить тему пишу как надо) [vba]Код
Set массив_ = .Range(.Cells(1, 1), .Cells(r1_, c1_))
[/vba] pabchek
"Учиться, учиться и еще раз учиться!" WM: R399923528092
Сообщение отредактировал pabchek - Пятница, 14.10.2016, 17:36
Ответить
Сообщение Вот жеж... Надо срочно идти за пивом Спасибо! [p.s.]Чтобы корректно завершить тему пишу как надо) [vba]Код
Set массив_ = .Range(.Cells(1, 1), .Cells(r1_, c1_))
[/vba] Автор - pabchek Дата добавления - 14.10.2016 в 17:30
_Boroda_
Дата: Пятница, 14.10.2016, 19:27 |
Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация:
6478
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Я, чтобы о точках лишний раз не думать, обычно пишу [vba]Код
.Range("A1").resize(r1_, c1_)
[/vba] [vba]Код
.Cells(1, 1).resize(r1_, c1_)
[/vba]
Я, чтобы о точках лишний раз не думать, обычно пишу [vba]Код
.Range("A1").resize(r1_, c1_)
[/vba] [vba]Код
.Cells(1, 1).resize(r1_, c1_)
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Я, чтобы о точках лишний раз не думать, обычно пишу [vba]Код
.Range("A1").resize(r1_, c1_)
[/vba] [vba]Код
.Cells(1, 1).resize(r1_, c1_)
[/vba] Автор - _Boroda_ Дата добавления - 14.10.2016 в 19:27
pabchek
Дата: Понедельник, 17.10.2016, 17:03 |
Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 931
Репутация:
218
±
Замечаний:
0% ±
Excel 2007
чтобы о точках лишний раз не думать
Да, отличное решение! Спасибо!
чтобы о точках лишний раз не думать
Да, отличное решение! Спасибо!pabchek
"Учиться, учиться и еще раз учиться!" WM: R399923528092
Ответить
Сообщение чтобы о точках лишний раз не думать
Да, отличное решение! Спасибо!Автор - pabchek Дата добавления - 17.10.2016 в 17:03