我编写了一些代码来选择特定行并使用paste-special属性以列方式粘贴它 . 它正常工作我的代码是:
lngRow = Me.TextBox4.Value
strCol = Me.TextBox5.Value
Set rng = Range("A:A").Find(What:=lngRow, LookIn:=xlValues, LookAt:=xlWhole)
If rng Is Nothing Then
MsgBox "Value not found in row 1", vbExclamation
Else
Range(rng, rng.End(xlToRight)).Copy
Range("A1:E3").Columns(strCol).Offset(, 1).PasteSpecial Transpose:=True
Range("A1:E3").Rows(1).Copy
Range("A1:E3").Columns(strCol).PasteSpecial Transpose:=True
endif
这里的问题是我使用Range(rng,rng.End(xlToRight)) . 复制复制值和粘贴我使用Range(“A1:E3”) . 列(strCol).Offset(,1) . PasteSpecial Transpose:= True .
如何粘贴复制的所有值?因为如果值在列F中,则此宏不会粘贴这些值 .
1 回答
此代码将粘贴整行,如果找到,则从第1行开始转置到给定的col .
如果它必须从不同的行或列开始,你应该能够适应它 .