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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос для вставки данных в нужные ячейки - Мир MS Excel

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

Excel 2007
Добрый день! С макросами раньше не работал, хватало функций, но сейчас без них не обойтись.
На Листе 2 имеется столбец А с данными (числами) , в столбцах С и D указан адрес ячейки (на Листе 1), куда нужно вставить данные.
Нужно написать макрос, позволяющий сделать это. В прикреплённом файле пример, который вставляет данные столбца А Листа2 в столбец А Листа 1.
А как сделать так, чтобы учитывался адрес ячейки, в которую вставляются данные?
К сообщению приложен файл: 9604130.xlsm (16.5 Kb)
 
Ответить
СообщениеДобрый день! С макросами раньше не работал, хватало функций, но сейчас без них не обойтись.
На Листе 2 имеется столбец А с данными (числами) , в столбцах С и D указан адрес ячейки (на Листе 1), куда нужно вставить данные.
Нужно написать макрос, позволяющий сделать это. В прикреплённом файле пример, который вставляет данные столбца А Листа2 в столбец А Листа 1.
А как сделать так, чтобы учитывался адрес ячейки, в которую вставляются данные?

Автор - Alex323
Дата добавления - 08.06.2017 в 10:34
AndreTM Дата: Четверг, 08.06.2017, 10:45 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Например, так:
[vba]
Код
Sub test01()
    
    Set oCell = ThisWorkbook.Sheets(2).Cells(1, 1)
    Set destSheet = ThisWorkbook.Sheets(1)
    
    While Not IsEmpty(oCell.Value)
        cRef = oCell.Offset(, 2).Value & oCell.Offset(, 3).Value
        destSheet.Range(cRef).Value = oCell.Value
        Set oCell = oCell.Offset(1)
    Wend
    
    MsgBox "Done"
    
End Sub
[/vba]


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеНапример, так:
[vba]
Код
Sub test01()
    
    Set oCell = ThisWorkbook.Sheets(2).Cells(1, 1)
    Set destSheet = ThisWorkbook.Sheets(1)
    
    While Not IsEmpty(oCell.Value)
        cRef = oCell.Offset(, 2).Value & oCell.Offset(, 3).Value
        destSheet.Range(cRef).Value = oCell.Value
        Set oCell = oCell.Offset(1)
    Wend
    
    MsgBox "Done"
    
End Sub
[/vba]

Автор - AndreTM
Дата добавления - 08.06.2017 в 10:45
Alex323 Дата: Четверг, 08.06.2017, 10:55 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
AndreTM, что-то не запускается в 2007 версии.
 
Ответить
СообщениеAndreTM, что-то не запускается в 2007 версии.

Автор - Alex323
Дата добавления - 08.06.2017 в 10:55
Alex323 Дата: Четверг, 08.06.2017, 10:58 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
AndreTM, запустилось, большое спасибо!
 
Ответить
СообщениеAndreTM, запустилось, большое спасибо!

Автор - Alex323
Дата добавления - 08.06.2017 в 10:58
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос для вставки данных в нужные ячейки (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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