Как скопировать определенные значения столбца из одного файла Excel в другой? - PullRequest
0 голосов
/ 16 мая 2018

Я пытаюсь скопировать определенные значения столбца из одного файла Excel в другой.Это то, что я пробовал.

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Open("C:\A.xls")
Set objWorkbook2 = objExcel.Workbooks.Open("C:\C.xls")

Set objWorksheet = objWorkbook.Worksheets(1)
objWorksheet.Activate

Set objRange = objWorksheet.Range("A:Q").EntireColumn
objRange.Copy

Set objWorksheet2 = objWorkbook2.Worksheets(1)
objWorksheet.Activate

objWorksheet.Range("A:B").EntireColumn.Copy objWorksheet2.Paste
objWorksheet2.Range ("A1")

objWorksheet.Columns("Q").EntireColumn.Copy objWorksheet2.Paste
objWorksheet2.Range ("C1")

objWorkbook2.Save 
objWorkbook2.Close

Я сомневаюсь, что столбец Q содержит формулу.Таким образом, при копировании столбца копируется только формула, но не значения. Помогите, пожалуйста, скопировать значения в ячейку, но не в формулу.

Заранее спасибо.

1 Ответ

0 голосов
/ 16 мая 2018

Попробуй это.Вы должны привыкнуть объявлять свои переменные (а также форматировать код).

Sub x()

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True

Set objWorkbook = objExcel.Workbooks.Open("C:\A.xls")
Set objWorkbook2 = objExcel.Workbooks.Open("C:\C.xls")

Set objWorksheet = objWorkbook.Worksheets(1)

Set objRange = objWorksheet.Range("A:Q").EntireColumn
objRange.Copy 'not sure what this does

Set objWorksheet2 = objWorkbook2.Worksheets(1)

objWorksheet.Range("A:B").Copy objWorksheet2.Range("A1")

objWorksheet.Columns("Q").EntireColumn.Copy
objWorksheet2.Range("C1").PasteSpecial xlValues

objWorkbook2.Save
objWorkbook2.Close

End Sub
...