【发布时间】:2017-04-05 21:24:08
【问题描述】:
希望你能帮上忙。我在下面有一段代码,它有点工作。我只是需要它做更多的事情。
它目前沿着从 A1 到 H1 的第一行。如果它找到一个空白单元格,则将单元格值复制到空白单元格的左侧,然后将此值粘贴到空白单元格中,然后继续移动。
由于范围每天都在变化,因此 A1 到 H1 是不够的。我现在需要代码沿着第一行查看,直到找到最后一个包含数据的单元格,然后查找空白并开始复制和粘贴过程。
我还需要代码,然后将 2 添加到粘贴的单元格,以便我可以执行透视并区分复制的单元格和粘贴的单元格。
我在下面提供了一张图片以便更好地理解。最终结果应该是单元格 B2 包含文本 24 - Company: Hier 2 并且 E2 包含文本 07 - Product: Family Hier 2
我的代码如下,我们非常感谢任何和所有帮助。
图 1
我的代码
Public Sub BorderForNonEmpty()
Dim myRange As Range
Set myRange = Sheet1.Range("A1:H1")
For Each MyCell In myRange
If MyCell.Text = "" Then
MyCell.Offset(0, -1).Select
ActiveCell.Copy
ActiveCell.Offset(0, 1).PasteSpecial (xlPasteAll)
End If
Next
End Sub
【问题讨论】:
-
您想查看最后一列。这也可能是一个录制的宏,如果你真的想进一步移动,你想停止使用 .select 和 activecell。相反,您应该明确引用单元格。
标签: vba excel copy-paste