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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос конкретное копирование - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Макрос конкретное копирование
Galexey Дата: Среда, 24.01.2018, 20:46 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Всем привет!

Очень нужна помощь спецов. До не давнего времени думал, что я хорошо разбираюсь в EXEL.
Мне нужно создать макрос для копирования конкретных ячеек в конкретные ячейки другой таблицы.
Исходный файл хоть и кривой, но нужные ячейки находятся в строгом порядке. Задача также усложняется тем, что исходная таблица бывает с разным количеством данных. Вложил файл. На первом листе исходная таблица, на втором требуемая форма. 
В таблицах обозначил цветами что от куда и куда.
Очень надеюсь на вашу помощь.
К сообщению приложен файл: 4821943.xlsx (77.7 Kb)
 
Ответить
СообщениеВсем привет!

Очень нужна помощь спецов. До не давнего времени думал, что я хорошо разбираюсь в EXEL.
Мне нужно создать макрос для копирования конкретных ячеек в конкретные ячейки другой таблицы.
Исходный файл хоть и кривой, но нужные ячейки находятся в строгом порядке. Задача также усложняется тем, что исходная таблица бывает с разным количеством данных. Вложил файл. На первом листе исходная таблица, на втором требуемая форма. 
В таблицах обозначил цветами что от куда и куда.
Очень надеюсь на вашу помощь.

Автор - Galexey
Дата добавления - 24.01.2018 в 20:46
nilem Дата: Среда, 24.01.2018, 21:26 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Galexey, привет
попробуйте вот так
[vba]
Код
Sub ertert()
Dim x, y(), i&, k&
With Sheets("Лист1")
    x = .Range("A8:N" & .Cells(Rows.Count, 2).End(xlUp).Row).Value
End With
ReDim y(1 To UBound(x), 1 To 6)

For i = 1 To UBound(x)
    If Len(x(i, 1)) Then
        k = k + 1
        y(k, 1) = x(i, 1)
        y(k, 2) = x(i, 2)
        y(k, 3) = x(i + 1, 2)
        y(k, 4) = x(i, 7)
        y(k, 5) = x(i, 9)
        y(k, 6) = x(i, 13)
    End If
Next i

With Sheets("Лист2")
    .Range("A2").CurrentRegion.Offset(1).ClearContents
    .Range("A4:F4").Resize(k).Value = y()
End With
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеGalexey, привет
попробуйте вот так
[vba]
Код
Sub ertert()
Dim x, y(), i&, k&
With Sheets("Лист1")
    x = .Range("A8:N" & .Cells(Rows.Count, 2).End(xlUp).Row).Value
End With
ReDim y(1 To UBound(x), 1 To 6)

For i = 1 To UBound(x)
    If Len(x(i, 1)) Then
        k = k + 1
        y(k, 1) = x(i, 1)
        y(k, 2) = x(i, 2)
        y(k, 3) = x(i + 1, 2)
        y(k, 4) = x(i, 7)
        y(k, 5) = x(i, 9)
        y(k, 6) = x(i, 13)
    End If
Next i

With Sheets("Лист2")
    .Range("A2").CurrentRegion.Offset(1).ClearContents
    .Range("A4:F4").Resize(k).Value = y()
End With
End Sub
[/vba]

Автор - nilem
Дата добавления - 24.01.2018 в 21:26
Galexey Дата: Среда, 24.01.2018, 21:40 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
nilem, сначала писал что не возможно выполнить с объединенными ячейками, я на исходной таблице все ячейки разделил,но появилась ошибка Cant exicute code in break mode
 
Ответить
Сообщениеnilem, сначала писал что не возможно выполнить с объединенными ячейками, я на исходной таблице все ячейки разделил,но появилась ошибка Cant exicute code in break mode

Автор - Galexey
Дата добавления - 24.01.2018 в 21:40
nilem Дата: Среда, 24.01.2018, 21:51 | Сообщение № 4
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
вот ваш файл
в файле нажмите зеленую кнопку
К сообщению приложен файл: _4821943-2.xlsm (80.4 Kb)


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениевот ваш файл
в файле нажмите зеленую кнопку

Автор - nilem
Дата добавления - 24.01.2018 в 21:51
Galexey Дата: Четверг, 25.01.2018, 20:19 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Чуваааааааак ты крут!
Напиши пожалуйста свою личку мне в личку
 
Ответить
СообщениеЧуваааааааак ты крут!
Напиши пожалуйста свою личку мне в личку

Автор - Galexey
Дата добавления - 25.01.2018 в 20:19
  • Страница 1 из 1
  • 1
Поиск:

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