Excel VBA PasteSpecial Transpose:=True仅发布范围内的最后一个值

Excel VBA PasteSpecial Transpose:=True仅发布范围内的最后一个值,vba,excel,Vba,Excel,我有这段代码,它将查找B列中的所有值,其中A列与声明的值ThisCell匹配。我知道大约有15个匹配值。当我尝试使用以下代码将这些值粘贴到该单元格右侧的单元格中时 For i = 4 To Finalrow If Cells(i, 1) = ThisCell Then Range(Cells(i, 2), Cells(i, 2)).Copy ThisCell.Offset(0, 1).PasteSpecial Transpose:=True End If 我只获取该单元格右侧单元格中的最后

我有这段代码,它将查找B列中的所有值,其中A列与声明的值ThisCell匹配。我知道大约有15个匹配值。当我尝试使用以下代码将这些值粘贴到该单元格右侧的单元格中时

For i = 4 To Finalrow
If Cells(i, 1) = ThisCell Then
Range(Cells(i, 2), Cells(i, 2)).Copy
ThisCell.Offset(0, 1).PasteSpecial Transpose:=True


End If
我只获取该单元格右侧单元格中的最后一个值。我看到单元格通过所有值进行更新。当我添加这样一个resize参数时
ThisCell.Offset(0,1).resize(,20).PasteSpecial Transpose:=True我得到20个单元格,其中填充了最后一个值。知道如何写入ThisCell.Offset(0,1).PasteSpecial Transpose:=True以便获得所有值吗?

我应该先想到这一点——问题是如何写入ThisCell.Offset行。使用cells方法,我将代码重写为

  Cells(ThisCell.Row, Columns.Count).End(xlToLeft).Offset(, 1).PasteSpecial 
  _ Transpose:=True
这就像一种魅力