【问题标题】:If, Then, With Paste Only Values [duplicate]如果,那么,仅粘贴值[重复]
【发布时间】:2018-10-15 11:29:31
【问题描述】:

我的代码可以完美运行,但我似乎无法仅粘贴复制单元格的值。我将如何告诉此代码仅粘贴值而不仅仅是复制和粘贴单元格。我已经尝试过 Google、Stack 等,但没有成功,我尝试的每个特殊粘贴变体都失败了!谢谢!

Sheets("AAAA").Select

Dim LR As Long, i As Long
With Sheets("AAAA")
    LR = .Range("H" & Rows.Count).End(xlUp).Row
    For i = 2 To LR
       With .Range("G" & i)
            If .Cells.Value = "NO MATCH" Then
                With Sheets("BBBB")
                    ActiveSheet.Cells(i, 1).Copy .Cells(.Rows.Count, "B").End(xlUp).Offset(1, 0)
                    ActiveSheet.Cells(i, 2).Copy .Cells(.Rows.Count, "C").End(xlUp).Offset(1, 0)
                    ActiveSheet.Cells(i, 3).Copy .Cells(.Rows.Count, "D").End(xlUp).Offset(1, 0)
                    ActiveSheet.Cells(i, 4).Copy .Cells(.Rows.Count, "E").End(xlUp).Offset(1, 0)
                    ActiveSheet.Cells(i, 5).Copy .Cells(.Rows.Count, "F").End(xlUp).Offset(1, 0)
                    ActiveSheet.Cells(i, 7).Copy .Cells(.Rows.Count, "H").End(xlUp).Offset(1, 0)
                    ActiveSheet.Cells(i, 8).Copy .Cells(.Rows.Count, "A").End(xlUp).Offset(1, 0)
                End With
            End If
        End With
    Next i
End With

【问题讨论】:

  • 你试过谷歌搜索“粘贴值”吗? (或查看本网站)
  • 无需投票...正如我所说,我已经用谷歌搜索并搜索了仅在我的代码中粘贴值的正确语法。我还看到了这个包含基本粘贴值代码的链接问题,正如我所说我已经搜索了一个解决方案。谢谢!
  • 你试过PasteSpecial方法了吗? Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False stackoverflow.com/a/30374158/194717
  • 您也可以考虑直接分配值,而不是使用剪贴板:range("A1").value2 = range("B1").value2 将单元格 B1 中的任何值分配给 A1(请记住限定工作簿和工作表名称)。
  • 感谢 cmets 和帮助!

标签: vba excel


【解决方案1】:

小心嵌套的With 语句。也许完全限定内部With中的第二张表。

也就是说,您可以完全删除副本并使用范围(单元格)的.Text 属性将其四舍五入到分配中,以仅给出值,例如

 .Cells(.Rows.Count, "B").End(xlUp).Offset(1, 0) = ActiveSheet.Cells(i, 1).Text

最好还是使用.Value2

.Cells(.Rows.Count, "B").End(xlUp).Offset(1, 0) = ActiveSheet.Cells(i, 1).Value2

它保留了更多格式并且更具弹性。

【讨论】:

  • 谢谢。我看到我写这篇文章的错误。谢谢!
  • 为什么使用.Text?它速度较慢,仅限于单个单元格,并且可能会根据单元格格式产生意想不到的结果。
  • @chrisneilsen 谢谢。没有正确思考。
猜你喜欢
  • 2014-07-19
  • 1970-01-01
  • 2017-03-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多