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

Вход

Регистрация

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

 

= Мир MS Excel/Копирование значений с листа на лист - Мир MS Excel

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

Здравствуйте, подскажите как с помощью макроса скопировать значения столбцов с Листа1 на Лист2, файл прилагаю, на 2 листе подписал откуда должны появиться значения
К сообщению приложен файл: 0969300.xlsm (27.6 Kb)
 
Ответить
СообщениеЗдравствуйте, подскажите как с помощью макроса скопировать значения столбцов с Листа1 на Лист2, файл прилагаю, на 2 листе подписал откуда должны появиться значения

Автор - egorrr907
Дата добавления - 01.03.2023 в 18:45
i691198 Дата: Среда, 01.03.2023, 21:55 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 218
Репутация: 85 ±
Замечаний: 0% ±

egorrr907, Добрый вечер, попробуйте такой код.
[vba]
Код
Sub Mv()
Dim Cr1%, Lr2%, i%, j%
Dim Sp
Sp = Array(0, 1, 2, 0, 3, 4, 6, 5)
With Sheets("Лист 1")
    Cr1 = .Cells(Rows.Count, 1).End(xlUp).Row - 3
    ReDim Ar(1 To Cr1, 1 To 7)
    For i = 1 To Cr1
       For j = 1 To 7
         If j <> 3 Then
           Ar(i, j) = .Cells(i + 3, Sp(j))
         Else
           Ar(i, j) = 1
         End If
       Next
     Next
  End With
  With Sheets("Лист 2")
    Lr2 = .Cells(Rows.Count, 1).End(xlUp).Row
    .Range(.Cells(Lr2 + 1, 1), .Cells(Lr2 + Cr1, 7)) = Ar
  End With
End Sub
[/vba]
 
Ответить
Сообщениеegorrr907, Добрый вечер, попробуйте такой код.
[vba]
Код
Sub Mv()
Dim Cr1%, Lr2%, i%, j%
Dim Sp
Sp = Array(0, 1, 2, 0, 3, 4, 6, 5)
With Sheets("Лист 1")
    Cr1 = .Cells(Rows.Count, 1).End(xlUp).Row - 3
    ReDim Ar(1 To Cr1, 1 To 7)
    For i = 1 To Cr1
       For j = 1 To 7
         If j <> 3 Then
           Ar(i, j) = .Cells(i + 3, Sp(j))
         Else
           Ar(i, j) = 1
         End If
       Next
     Next
  End With
  With Sheets("Лист 2")
    Lr2 = .Cells(Rows.Count, 1).End(xlUp).Row
    .Range(.Cells(Lr2 + 1, 1), .Cells(Lr2 + Cr1, 7)) = Ar
  End With
End Sub
[/vba]

Автор - i691198
Дата добавления - 01.03.2023 в 21:55
egorrr907 Дата: Четверг, 02.03.2023, 10:27 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

i691198, большое спасибо!
 
Ответить
Сообщениеi691198, большое спасибо!

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

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