![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 17.02.2009
Сообщений: 96
|
![]()
Помогите, плиз, разобраться с макросом!
Нужно, чтобы макрос проверил столбец А в листе "Масс1НСРКол" и поместил краткий список значений (без повторов) в лист "СжМасс1КолБр" в столбец А, начиная с 13-й строки. Проблема в том, что он почему-то помещает их в диапазон, начиная с 10-й строки, снося имеющиеся в строках 10-12 данные. Помогите побороть его!!! |
![]() |
![]() |
![]() |
#2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Замените строку Range([A13], Cells(UBound(b, 1) + 1, "A")).Value = b
на строку Range([A13], Cells(UBound(b, 1) + 12, "A")).Value = b или на строку [A13].Resize(UBound(b, 1)).Value = b |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 17.02.2009
Сообщений: 96
|
![]()
Большое спасибо!
А почему он тогда начинал именно с 10-й? |
![]() |
![]() |
![]() |
#4 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
Одна из ячеек была всегда [A13], а вторая - в столбце A в строке UBound(b, 1) + 1 UBound(b, 1) - это количество обрабатываемых значений (в файле примера равно девяти) Вот и получалось, что вставка производилась в диапазон с A13 по A10 |
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 17.02.2009
Сообщений: 96
|
![]()
Теперь все понятно, спасибо!
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 17.02.2009
Сообщений: 96
|
![]()
Еще один вопрос: В макросе используются данные из листа Масс1НСРКол столбца A.
А если данные нужно взять из столбца скажем C, то что нужно поменять в макросе? СК |
![]() |
![]() |
![]() |
#7 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Код:
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 17.02.2009
Сообщений: 96
|
![]()
Спасибо, все работает!!!
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 17.02.2009
Сообщений: 96
|
![]()
Educated Fool, а подскажите пожалуйста, как в этом коде сделать так, чтобы он помещал данные в диапазон "B2" и далее по столбцам направо (а не по строкам вниз), ну то есть транспонировал их в строку?
Заранее спасибо! |
![]() |
![]() |
![]() |
#10 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Например, так:
Код:
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не открывается нужный файл | Ruska882009 | Операционные системы общие вопросы | 4 | 24.05.2009 21:30 |
Ищу нужный тип строки | Altera | Общие вопросы Delphi | 10 | 27.04.2009 08:36 |
Найти краткий путь в лабиринте | foz | Помощь студентам | 1 | 15.04.2009 21:41 |
Указать нужный тип переменной | KiDoki | Общие вопросы Delphi | 3 | 06.10.2008 17:11 |
Как написать в коде чтобы диапазон А копировался как значение в диапазон В. | Dorvir | Microsoft Office Excel | 12 | 23.05.2008 22:11 |