シート内の列から値と条件付き書式をコピーしてwsHH
に貼り付けようとしています。ただし、次のコードは2番目のシートに書式設定をコピーしません。すべての値は通常貼り付けられますが、書式設定は行われません。私は条件付きではないwsHR
に書式を追加しました。条件付き書式が貼り付けられることを確認する具体的な方法はありますか?VBA:.PasteSpecialは条件付き書式設定を貼り付けません
wsHR
からの値をに貼り付けられているので、私は、第二シート、
wsHH
に同じ条件付き書式設定規則を使用することができない
Private Sub CommandButton1_Click()
'Set variables
Dim LastRow As Long
Dim wsHR As Worksheet
Dim wsHH As Worksheet
Dim y As Integer
'Set row value
y = 4
'Set heavy chain raw data worksheet
Set wsHR = ThisWorkbook.Worksheets(4)
'Set heavy chain hits worksheet
Set wsHH = ThisWorkbook.Worksheets(6)
'Optimizes Speed
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
'Finds last row
With wsHR
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
'Iterates through rows in column A, and copies the row into proper sheet depending on "X" in PBS/KREBS
For i = 4 To LastRow
'Checks for "X" in PBS
If VarType(wsHR.Range("AD" & i)) = 8 Then
If wsHR.Range("AD" & i).Value = "X" Or wsHR.Range("AE" & i).Value = "X" Then
With wsHH
wsHR.Range("A" & i).Copy
.Range("A" & y).PasteSpecial Paste:=xlPasteFormats
.Range("A" & y).PasteSpecial Paste:=xlPasteValues
'Range before PBS/KREBS
.Range("B" & y & ":AC" & y).Value = wsHR.Range("B" & i & ":AC" & i).Value
'Adds space to keep formulas for PBS/KREBS
'Range after PBS/KREBS
.Range("AG" & y & ":AW" & y).Value = wsHR.Range("AG" & i & ":AW" & i).Value
End With
y = y + 1
End If
End If
Next i
'Message Box when tasks are completed
MsgBox "Complete"
'Reset Macro Optimization Settings
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
- 条件付き書式は、重複に基づいています。
したがって、wsHRの条件に基づいてwsHHで条件付き書式を設定しますか? – OldUgly
@OldUgly私はもともと、条件付き書式の情報を実現しない条件付き書式のセルから書式をコピーしようとしましたが、別々に格納されていました。周りを見回した後、私は解決策に出てきました。答えは以下の通りです。 – MTJ
あなたはそこに着く方法を見つけてうれしいです。 – OldUgly