Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 26.03.2016
Сообщений: 42
1

Копиирование файлов с одного листа на другой

11.04.2016, 09:10. Показов 485. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Visual Basic
1
2
Set mRng = Workssheets("Лист1").Range("A2:F2")
mRng.Copy Sheets("Лист2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
Вот так копирую записи с одного листа на второй, но мне нужендругой порядок, сначало ячейка b например, затем d, потом f, потом пустую ячейку, и толькозатем а (это как пример, хочу понять сам принцип, как копировать не по порядку данные) , помогите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.04.2016, 09:10
Ответы с готовыми решениями:

Обработка прайс листа для торговых площадок Копирование данных с одного листа на другой
Всем привет кто знает и может помогите Копирование данных с одного листа на другой обработка...

Копирование с одного листа на другой
Здравствуйте! Помогите, пожалуйста, профану в программировании написать процедурку копирования с...

Перенос с одного листа в другой
Доброго времени суток. Вопрос состоит в том как формулой перетянуть с листа 2 в лист 1 по...

Подстановка с одного листа на другой
Добрый день. Просьба помочь. Есть 2 листа в файле: "FOR PLAN TODAY" и "PLAN TODAY". В первый...

8
6944 / 2849 / 548
Регистрация: 19.10.2012
Сообщений: 8,721
11.04.2016, 09:14 2
1. причём тут файлы?
2. хотите копировать по одной ячейке не по порядку - копируйте, что мешает?
3. всегда надёжнее копировать реальный код из редактора - всем будет легче.
1
0 / 0 / 0
Регистрация: 26.03.2016
Сообщений: 42
11.04.2016, 09:22  [ТС] 3
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub mCopyData()
    Dim mRng As Range
 
    Set mRng = Worksheets("Лист1").Range("A2:F2")
    If Application.CountA(mRng) = 0 Then
        MsgBox "Пусто!!!"
        Exit Sub
    Else
        mRng.Copy Sheets("Служебные записки").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
    End If
End Sub
вот так
Visual Basic
1
Set mRng = Worksheets("Лист1").Range("A2:F2")
Как задать область что бы сначала ячейка b копировала в ячейку А второго листа, а в ячейку B - ячекй D с первого листа
0
Заблокирован
11.04.2016, 09:33 4
Может так? -
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub mCopyData()
    Dim mRng As Range,nRng As Range,r as long
 
    Set mRng = Worksheets("Лист1").Range("A2:F2")
    If Application.CountA(mRng) = 0 Then
        MsgBox "Пусто!!!"
        Exit Sub
    Else
        set  nRng=Sheets("Служебные записки").Cells(Rows.Count, 1).End(xlUp).entirerow
        mRng(2).Copy nRng(1) 'ячейка b копировала в ячейку А второго листа
        mRng(4).Copy nRng(2) 'а в ячейку B - ячекй D с первого листа
        'и т.д.
    End If
End Sub
1
0 / 0 / 0
Регистрация: 26.03.2016
Сообщений: 42
11.04.2016, 09:35  [ТС] 5
И так каждую ячейку мне копировать например мне еще нужно D ячеку копировать на место B и т.д. они у мекня все в разнобой

Добавлено через 34 секунды
А с копированием файла я замурилась.... извините... как поменть имя темы?
0
Заблокирован
11.04.2016, 09:36 6
Цитата Сообщение от olga8774 Посмотреть сообщение
И так каждую ячейку мне копировать
А куда деваться при таких данных?
0
0 / 0 / 0
Регистрация: 26.03.2016
Сообщений: 42
11.04.2016, 09:42  [ТС] 7
я просто думала можно сделать более красиво (
0
Заблокирован
11.04.2016, 09:49 8
А есть ли резон использовать COPY?
Попробуйте просто присваивание -
Visual Basic
1
2
        nRng(1)=mRng(2) 'ячейка b копировала в ячейку А второго листа
        nRng(2)=mRng(4) 'а в ячейку B - ячекй D с первого листа
При необходимости задайте нужный формат целевым столбцам (на Sheets("Служебные записки")) заранее.
0
0 / 0 / 0
Регистрация: 26.03.2016
Сообщений: 42
11.04.2016, 11:00  [ТС] 9
Shersh,
Цитата Сообщение от Shersh Посмотреть сообщение
При необходимости задайте нужный формат целевым столбцам (на Sheets("Служебные записки")) заранее.
Вот это не очень понятно
Весь же мой код остается таким же
Visual Basic
1
2
3
mRng(2).Copy nRng(1) 'ячейка b копировала в ячейку А второго листа
        mRng(4).Copy nRng(2) 'а в ячейку B - ячекй D с первого листа
        'и т.д.
просто это добавляю или не так?

Добавлено через 1 минуту
Цитата Сообщение от Shersh Посмотреть сообщение
А есть ли резон использовать COPY?
Есть я потом ячейки обнуляю и в них ничео нет после использование макроса
0
11.04.2016, 11:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.04.2016, 11:00
Помогаю со студенческими работами здесь

Перенос из одного Листа в другой
Доброе время суток. Нужна Ваша помощь в решении задачи!! Нужно из Литса "Images Data" перенести...

Перенос данных из одного листа на другой
Всем доброго времени суток, господа Проблема вот в чём: есть рабочая книга, в ней два листа. На...

Копирование данных с одного листа на другой
Добрый день. Есть такая проблемка. В данном коде появляется ошибка при вставке данных из одной...

Копировать таблицу с одного листа на другой
В MS Excel c помощью макроса выполнить следующие действия: 1.Копировать таблицу с 1 листа на 2....

Перенести данные с одного листа на другой
Доброго времени суток! Ребята, помогите пожалуйста. Суть вопроса вот чем: на первом листе по...

Как обратиться из одного листа в другой
Всем привет! Есть модель 1 public partial class Model1 : ViewModelBase { public...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru