Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/копирование диапазона - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » копирование диапазона (Макросы/Sub)
копирование диапазона
Мур Дата: Вторник, 23.06.2020, 15:47 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Приветствую участников форума!
Прошу подсказать как макросом скопировать данные из одного изменяющегося диапазона в конец другого.
Пример внутри. На листе "Лист2" данные в виде трех столбцов, количество заполненных данными строк меняется. При определении последней непустой строки, ячейки с формулами считаются непустыми. Поэтому не пойму как скопировать только ячейки, где с помощью формул выведены значения.
И как вставить все это в последнюю незаполненную строку на листе "База!"
Заранее благодарен! Надеюсь, что понятно объяснил.
К сообщению приложен файл: _2.xlsm (23.4 Kb)
 
Ответить
СообщениеПриветствую участников форума!
Прошу подсказать как макросом скопировать данные из одного изменяющегося диапазона в конец другого.
Пример внутри. На листе "Лист2" данные в виде трех столбцов, количество заполненных данными строк меняется. При определении последней непустой строки, ячейки с формулами считаются непустыми. Поэтому не пойму как скопировать только ячейки, где с помощью формул выведены значения.
И как вставить все это в последнюю незаполненную строку на листе "База!"
Заранее благодарен! Надеюсь, что понятно объяснил.

Автор - Мур
Дата добавления - 23.06.2020 в 15:47
Nic70y Дата: Вторник, 23.06.2020, 16:41 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8760
Репутация: 2273 ±
Замечаний: 0% ±

Excel 2010
как-то так, примерно
[vba]
Код
Sub u_629()
    Application.ScreenUpdating = False
    u = Application.Match(99 ^ 9, Range("a:a"), 1)
    v = Sheets("База").Cells(Rows.Count, 1).End(xlUp).Row + 1
    Range("a1:a" & u).Copy
    With Sheets("База").Range("a" & v)
        .PasteSpecial Paste:=xlPasteValues
    End With
    Range("c1:d" & u).Copy
    With Sheets("База").Range("b" & v)
        .PasteSpecial Paste:=xlPasteValues
    End With
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub
[/vba]


ЮMoney 41001841029809
 
Ответить
Сообщениекак-то так, примерно
[vba]
Код
Sub u_629()
    Application.ScreenUpdating = False
    u = Application.Match(99 ^ 9, Range("a:a"), 1)
    v = Sheets("База").Cells(Rows.Count, 1).End(xlUp).Row + 1
    Range("a1:a" & u).Copy
    With Sheets("База").Range("a" & v)
        .PasteSpecial Paste:=xlPasteValues
    End With
    Range("c1:d" & u).Copy
    With Sheets("База").Range("b" & v)
        .PasteSpecial Paste:=xlPasteValues
    End With
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 23.06.2020 в 16:41
Мур Дата: Вторник, 23.06.2020, 17:49 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Nic70y, спасибо большое...
Можно объяснить, вот это
 
Ответить
СообщениеNic70y, спасибо большое...
Можно объяснить, вот это

Автор - Мур
Дата добавления - 23.06.2020 в 17:49
Мур Дата: Вторник, 23.06.2020, 17:50 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

И это
 
Ответить
СообщениеИ это

Автор - Мур
Дата добавления - 23.06.2020 в 17:50
Мур Дата: Вторник, 23.06.2020, 17:51 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

А так попробовал, вроде работает....сейчас в оригинальном файле попробую
 
Ответить
СообщениеА так попробовал, вроде работает....сейчас в оригинальном файле попробую

Автор - Мур
Дата добавления - 23.06.2020 в 17:51
Pelena Дата: Вторник, 23.06.2020, 18:38 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 19184
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Мур, строчки кода надо не под спойлер класть, а оформлять тегами с помощью кнопки #. Исправьте, плз


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеМур, строчки кода надо не под спойлер класть, а оформлять тегами с помощью кнопки #. Исправьте, плз

Автор - Pelena
Дата добавления - 23.06.2020 в 18:38
Мур Дата: Вторник, 23.06.2020, 20:40 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Nic70y, спасибо большое...
Можно объяснить, вот это?
[vba]
Код
u = Application.Match(99 ^ 9, Range("a:a"), 1)
[/vba]
и это?
[vba]
Код
Application.CutCopyMode = Fals
[/vba]
 
Ответить
СообщениеNic70y, спасибо большое...
Можно объяснить, вот это?
[vba]
Код
u = Application.Match(99 ^ 9, Range("a:a"), 1)
[/vba]
и это?
[vba]
Код
Application.CutCopyMode = Fals
[/vba]

Автор - Мур
Дата добавления - 23.06.2020 в 20:40
Nic70y Дата: Четверг, 25.06.2020, 09:33 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 8760
Репутация: 2273 ±
Замечаний: 0% ±

Excel 2010
1) аналог
Код
=ПОИСКПОЗ(99^9;A:A;1)

2) очистка буфера обмена


ЮMoney 41001841029809
 
Ответить
Сообщение1) аналог
Код
=ПОИСКПОЗ(99^9;A:A;1)

2) очистка буфера обмена

Автор - Nic70y
Дата добавления - 25.06.2020 в 09:33
Мур Дата: Пятница, 17.07.2020, 12:28 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Спасибо. не было возможности посмотреть раньше...
 
Ответить
СообщениеСпасибо. не было возможности посмотреть раньше...

Автор - Мур
Дата добавления - 17.07.2020 в 12:28
Мир MS Excel » Вопросы и решения » Вопросы по VBA » копирование диапазона (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!