【问题标题】:Copy and paste active column without changing cells formats复制和粘贴活动列而不更改单元格格式
【发布时间】:2017-09-15 22:09:02
【问题描述】:

此代码帮助我复制和粘贴值中的活动列,但数字粘贴时带有两位小数。我使用此代码是因为我的工作表内部已合并单元格,并且列中的某些单元格也有日期。

ActiveCell.Offset(0, 0).EntireColumn.Value = ActiveCell.EntireColumn.Value

我需要完全按照该列具有的格式将列粘贴到值中。留下没有小数的数字。

注意:如果您通过选择列手动执行此操作,然后从主页栏中选择粘贴值,它会完全按照公式粘贴它。

【问题讨论】:

  • 这段代码与复制粘贴无关。它分配值。
  • 你知道如何复制带有合并单元格的活动列并将其粘贴到值中吗?
  • @pnuts 是的,但我添加了一条评论,似乎没有人回应。

标签: vba excel


【解决方案1】:

试试这个方法:

Dim r As Long
c = Selection.Column

Range(Cells(4, c + 1), Cells(5, c + 1)).Merge
Columns(c).EntireColumn.Copy
Columns(c + 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Application.CutCopyMode = False

您可能需要调整一些东西,例如合并某些单元格,以便将单元格粘贴到与复制的单元格相关的位置。让我知道这是如何工作的

【讨论】:

  • 它将活动列复制到此列旁边 4 次,并删除所有合并的单元格。您是否知道复制活动列并粘贴值的方法,即使它已合并单元格?
  • 你能尝试用不同的方式解释吗?这个设置的方式是复制活动列 (c) 并将其粘贴到它旁边的列 (c + 1)。在我使用的示例中,我假设活动列合并了第 4 行和第 5 行中的单元格,因此我首先将单元格合并到活动列右侧,然后再粘贴它们。因此,您在活动列中合并的任何单元格都应首先合并到您要粘贴的列中。您可以使用合并函数(在上面的示例中,Range(Cells(x, c + 1), Cells(5, c + 1)).Merge) 根据需要多次
猜你喜欢
  • 1970-01-01
  • 2010-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-07
  • 2013-12-11
相关资源
最近更新 更多