Expliciete optie
Sub Copy_Paste3 ()
Schemerige wb als Werkboek
Schemerige objFileDLG als Office.FileDialog
Schemerige strFilePath, lcTargetCell
Schemerige intSrcRows als Geheel
Schemerige intTgtRows als Geheel
ChDir „D:\Data\“
Reeks objFileDLG = Application.FileDialog (msoFileDialogFilePicker)
Schemerige copyRange als Waaier
intTgtRows = 2
Doe terwijl Waar
strFilePath = ""
Met objFileDLG
. Filters.Add de „Dossiers van Excel“, „*.xls“, 1
.FilterIndex = 1
.AllowMultiSelect = Vals
. De titel = „selecteert het Werkboek te kopiëren van“
Als. Toon dan ( <> ) 0
strFilePath = .SelectedItems (1)
Eind als
Eind met
Als de Versiering (strFilePath) = dan Uitgang ""
Vastgesteld wb = Workbooks.Open (strFilePath)
intSrcRows = wb. Aantekenvellen (1). Cellen (Cells.Rows.Count, „A“). Eind (xlUp). Rij
Reeks copyRange = wb. Aantekenvellen (1). Waaier („B6: B“ & intSrcRows)
Reeks copyRange = Unie (copyRange, copyRange.Offset (, 4), copyRange.Offset (, 6). Resize (, 6))
copyRange.Copy
Plaats lcTargetCell = ThisWorkbook.Worksheets (2). Waaier („A“ & Rows.Count). Eind (xlUp). Compensatie (1)
lcTargetCell.PasteSpecial deeg: =xlPasteValuesAndNumberFormats, Verrichting: = _
xlNone, SkipBlanks: =False, herschik: =False
ThisWorkbook.Worksheets (2). Waaier („B: B“) .NumberFormat = „dd-mmm“
Application.CutCopyMode = Vals
wb. Sluit
Plaats wb = niets
intTgtRows = intTgtRows + intSrcRows - 1
Lijn
'nieuwe lijnen
Op Fout hervat daarna
ThisWorkbook.Worksheets (1). Kolommen (1) .SpecialCells (xlBlanks) .EntireRow.Delete
Sub van het eind
|