Вариант точный
Sub Copy_Paste3 ()
Тусклый wb как Workbook
Тусклое objFileDLG как Office.FileDialog
Тусклое strFilePath, lcTargetCell
Тусклые intSrcRows как интежер
Тусклые intTgtRows как интежер
ChDir «D:\Data\»
Установите objFileDLG = Application.FileDialog (msoFileDialogFilePicker)
Затемните copyRange как ряд
intTgtRows = 2
Сделайте пока поистине
strFilePath = ""
С objFileDLG
. Filters.Add «Эксел хранит», «*.xls», 1
.FilterIndex = 1
.AllowMultiSelect = ложно
. Название = «выбирает Workbook для того чтобы скопировать от»
Если. Покажите () <> 0 после этого
strFilePath = .SelectedItems (1)
Закончитесь если
Закончитесь с
Если уравновешивание (strFilePath) = "" после этого выходит, то сделайте
Установите wb = Workbooks.Open (strFilePath)
intSrcRows = wb. Рабочий лист (1).Cells (Cells.Rows.Count, «a»). Конец (xlUp). Рядок
Установите copyRange = wb. Рабочий лист (1).Range («B6: B» & intSrcRows)
Установите copyRange = соединение (copyRange, copyRange.Offset (, 4), copyRange.Offset (, 6).Resize (, 6))
copyRange.Copy
Установите lcTargetCell = ThisWorkbook.Worksheets (2).Range («a» & Rows.Count). Конец (xlUp). Смещение (1)
затир lcTargetCell.PasteSpecial: =xlPasteValuesAndNumberFormats, деятельность: = _
xlNone, SkipBlanks: =False, транспонирует: =False
ThisWorkbook.Worksheets (2).Range («b: B») .NumberFormat = «dd-mmm»
Application.CutCopyMode = ложно
wb. Конец
Установите wb = ничего
intTgtRows = intTgtRows + intSrcRows - 1
Петля
'новые линии
На резюме ошибки затем
ThisWorkbook.Worksheets (1).Columns (1).SpecialCells (xlBlanks) .EntireRow.Delete
Подводная лодка конца
|