[英]VBA copy rows that meet criteria to another sheet pasting only values
我想修改此宏,以使用原始格式粘貼復制的行,並且僅保留其值,因為要復制的行中包含公式。 我嘗試將PasteSpecial xlPasteValues放置在Rows(j + 6)之后,但是沒有成功。
Sub customcopy()
Dim strsearch As String, lastline As Integer, tocopy As Integer
strsearch = CStr(InputBox("enter the string to search for"))
lastline = Range("A65536").End(xlUp).Row
j = 1
For i = 1 To lastline
For Each c In Range("C" & i & ":Z" & i)
If InStr(c.Text, strsearch) Then
tocopy = 1
End If
Next c
If tocopy = 1 Then
Rows(i).Copy Destination:=Sheets("Sheet2").Rows(j + 6)
j = j + 1
End If
tocopy = 0
Next i
End Sub
嘗試這個
Sub customcopy()
Dim strsearch As String, lastline As Integer, tocopy As Integer
strsearch = CStr(InputBox("enter the string to search for"))
lastline = Range("A65536").End(xlUp).Row
j = 1
For i = 1 To lastline
For Each c In Range("a" & i & ":a" & i)
If InStr(c.Text, strsearch) Then
tocopy = 1
End If
Next c
If tocopy = 1 Then
Rows(i).Copy
Sheets("Sheet2").Rows(j + 6).PasteSpecial Paste:=xlPasteValues
Sheets("Sheet2").Rows(j + 6).PasteSpecial Paste:=xlPasteFormats
j = j + 1
End If
tocopy = 0
Next i
End Sub
嘗試:
Sub customcopy()
Dim strsearch As String, lastline As Long, tocopy As Long
strsearch = CStr(InputBox("enter the string to search for"))
lastline = Range("A65536").End(xlUp).Row
j = 1
For i = 1 To lastline
For Each c In Range("C" & i & ":Z" & i)
If InStr(c.Text, strsearch) Then
tocopy = 1
End If
Next c
If tocopy = 1 Then
Rows(i).Copy
Sheets("Sheet2").Rows(j + 6).PasteSpecial (xlValues)
Sheets("Sheet2").Rows(j + 6).PasteSpecial (xlFormats)
j = j + 1
End If
tocopy = 0
Next i
End Sub
我確信肯定有更好的方法來保留格式並只放入值,但是一種快速的解決方案可能是先粘貼所有內容(這樣就可以格式化),然后再粘貼值:
Rows(i).Copy Destination:=Sheets("Sheet2").Rows(j + 6)
Sheets("Sheet2").Rows(j + 6).PasteSpecial Paste:=xlPasteValues
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.