Как копировать значения только из файла (не формат, формулы и т. Д.) - PullRequest
1 голос
/ 18 июня 2019

Я хочу копировать значения данных только без формата. Как мне это сделать?

Мой существующий код ниже копирует формат.

wbkSource_Feeder.Worksheets(1).Activate
sourceColCount = wbkSource_Feeder.Worksheets(1).Range("A1").CurrentRegion.Columns.Count
For Each Cell In wbkSource_Feeder.Worksheets(1).Range(Cells(1, 1), Cells(1, sourceColCount))
wbkDest.Worksheets("sheet2").Activate
destColCount = wbkDest.Worksheets("sheet2").Range("A1").CurrentRegion.Columns.Count
For Each Cell2 In wbkDest.Worksheets("sheet2").Range(Cells(2, 1), Cells(2, destColCount))
    If Cell = Cell2 Then
        Set DestRng = wbkDest.Worksheets("sheet2").Range(Cells(Cell2.Offset(1, 0).Row, Cell2.Column), Cells(SourceLastRow, Cell2.Column))
        wbkSource_Feeder.Worksheets(1).Activate
       wbkSource_Feeder.Worksheets(1).Range(Cells(Cell.Offset(1, 0).Row, Cell.Column), Cells(SourceLastRow, Cell.Column)).Copy Destination:=DestRng
    Exit For
    End If
Next Cell2

1 Ответ

1 голос
/ 18 июня 2019

Используйте подход Set Value, показанный ниже.Это должно работать более эффективно для вас.

destrng.Value = wbkSource_Feeder.Worksheets(1).Range(Cells(Cell.Offset(1, 0).Row, Cell.Column), Cells(SourceLastRow, Cell.Column))

Или вот как сделать именно то, что вы хотите:

   wbkSource_Feeder.Worksheets(1).Range(Cells(Cell.Offset(1, 0).Row, Cell.Column), Cells(SourceLastRow, Cell.Column)).Copy
   destRNG.PasteSpecial xlPasteValues

Пара дружественных предложений (просто чтобы добавить немного больше ценностина этот короткий ответ):

  • Определите ваши переменные, конкретные диапазоны (например, Dim destRNG as Range).Это позволит вам увидеть свойства переменной с intellisense.
  • Я не думаю, что вам нужно использовать Activate, так как большая часть вашего кода определяет лист.
  • Использование С , чтобы избежать необходимости вводить многие из этих определений.
  • При обращении к листу не используйте отображаемое имя листа (то есть "Sheet2").Попробуйте указать технический идентификатор на случай, если какой-нибудь сумасшедший пользователь изменит название вкладки.

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...