use*_*091 3 excel vba excel-vba xlsm
我正在开发一个小项目,如果我在行中检测到"true",则需要我复制并粘贴某些列.我试图将这些选定的列粘贴到不同的工作表上,我想只粘贴它们的值而不是公式.
这是我到目前为止,我得到了粘贴特殊功能的错误.请帮忙.
' CopyIfTrue()
Dim Col As Range, Cell As Excel.Range, RowCount As Integer
Dim nysheet As Worksheet
Set nysheet = Sheets.Add()
nysheet.Name = "T1"
Sheets("FemImplant").Select
RowCount = ActiveSheet.UsedRange.Rows.Count
Set Col = Range("I2:I" & RowCount) 'Substitute with the range which includes your True/False values
Dim i As Integer
i = 1
For Each Cell In Col
If Cell.Value = "True" Then
Cell.Copy
Sheets("T1").Select 'Substitute with your sheet
Range("b" & i).Select
ActiveSheet.Paste
'Get sibling cell
Sheets("FemImplant").Select
Dim thisRow As Integer
thisRow = Cell.Row
Dim siblingCell As Range
Set siblingCell = Cells(thisRow, 2)
siblingCell.Copy
Sheets("T1").Select 'Substitute with your sheet
Range("a" & i).Select
ActiveSheet.PasteSpecial Paste:=xlPasteValues
Sheets("FemImplant").Select
i = i + 1
End If
Next
Run Code Online (Sandbox Code Playgroud)
小智 8
PasteSpecial必须是Range.PasteSpecial而不是ActiveSheet.PasteSpecial.它们是不同的东西,ActiveSheet.PasteSpecial不知道任何参数"粘贴".
ActiveSheet.Range("a" & i).PasteSpecial Paste = xlPasteValues
Run Code Online (Sandbox Code Playgroud)