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

Я пытаюсь скопировать файл из одного файла Excel в другой. Я хочу скопировать значения в ячейках (числа, хранящиеся в виде текста) в новый файл как числа . Как это сделать? Я пробовал Range ("A1"). NumberFormat = "0", но не повезло. Пожалуйста, помогите мне.

 Set myxl = CreateObject("Excel.Application")
    myxl.Visible = True
    Set objWorkbook2 = myxl.Workbooks.Open("C:\C.xlsx")
    Set objWorkbook3 = myxl.Workbooks.Open("C:\PC.xlsx")
    Set objWorksheet = objWorkbook3.Worksheets(1)
    objWorksheet.Activate

    set objworksheet3 = objworkbook2.worksheets.add
    objworksheet3.name="Project_Overview"
    Set objWorksheet2 = objWorkbook2.Worksheets("PC")
    objWorksheet.Activate
    objWorkSheet.Range("A1:A10").Copy
    objWorkSheet2.Paste objWorkSheet2.Range("A1")
    objWorkSheet2.Range("A1").NumberFormat = "0"

    objWorkbook2.Save 
    objWorkbook2.Close

    myxl.Quit

1 Ответ

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

Передайте значения вместо копирования и вставки и установите формат назначения перед передачей.

with objWorkSheet.Range("A1:A10")
    .copy destination:=objWorkSheet2.Range("A1")
    objWorkSheet2.Range("A1").resize(.rows.vount, .columns.count).NumberFormat = "0"
    objWorkSheet2.Range("A1").resize(.rows.vount, .columns.count) = .value2
end with
...