请帮我解决这个问题:
我使用此link中的此vba:
Sub test()
Dim rng1 As Range, rng2 As Range, rngName As Range, i As Integer, j As Integer
For i = 1 To Sheets("Sheet2").Range("B" & Rows.Count).End(xlUp).Row
Set rng1 = Sheets("Sheet2").Range("B" & i)
For j = 1 To Sheets("Sheet1").Range("C" & Rows.Count).End(xlUp).Row
Set rng2 = Sheets("Sheet1").Range("C" & j)
Set rngName = Sheets("Sheet1").Range("B" & j)
If rng1.Value = rng2.Value Then
rngName.Copy Destination:=Worksheets("Sheet2").Range("E" & i)
End If
Set rng2 = Nothing
Next j
Set rng1 = Nothing
Next i
End Sub
有人可以告诉我如何将rngName.Copy
与
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
我想获得rngName.Copy
仅复制文本,因为我在单元格中有特殊的颜色,文本格式,注释等,其中vba粘贴更改的值,我想保留这些
答案 0 :(得分:1)
你是说这个吗?
context Person::id:String
inv: not self.id.toInteger().oclIsUndefined()
and self.id.size() = 11
您可能还需要rngName.Copy
Worksheets("Sheet2").Range("E" & i).PasteSpecial Paste:=xlPasteFormulas, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
而不是xlPasteValues
。在这种情况下,更简单和更好的方法是在不使用复制/粘贴的情况下获取值:
xlPasteFormulas
上述所有方法都保留了目的地的格式。