Как скопировать значения (а не форматирование) в блок With..End With? - PullRequest
0 голосов
/ 26 января 2020

Я попытался отключить .PasteSpecial xlPasteValues ​​и .value в коде. Но, похоже, не могу понять это правильно.

Private Sub CommandButton1_Click()

Dim wsSource, wsTarget As Worksheet
Dim i, iLastSource, iRowTarget, count As Long
Dim cell As Range

Set wsSource = Worksheets("Stig Jan")
iLastSource = wsSource.Cells(Rows.count, 1).End(xlUp).Row

Set wsTarget = Worksheets("Laura Jan")
count = 0
With wsSource
iRowTarget = wsTarget.Cells(Rows.count, 1).End(xlUp).Row + 1
For i = 36 To iLastSource
  Set cell = .Cells(i, 4)
  If cell.Font.Bold = False Then
    If cell.Value = "Fælles" Or cell.Value = "Lagt Ud" Then
      .Rows(i).Columns("A:H").Copy wsTarget.Range("A" & iRowTarget)
      wsTarget.Range("D" & iRowTarget).ClearContents
      iRowTarget = iRowTarget + 1
      count = count + 1
    End If
  End If
If cell.Value = "Fælles" Or cell.Value = "Lagt Ud" Then
 wsSource.Rows(i).Columns("A:H").Font.Bold = True
End If
Next
End With

1 Ответ

0 голосов
/ 26 января 2020

Если вы хотите использовать перенос значения, измените:

.Rows(i).Columns("A:H").Copy wsTarget.Range("A" & iRowTarget)

на

wsTarget.Range("A" & iRowTarget & ":H" & iRowTarget).Value = .Range("A" & i & ":H" & i).Value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...