0
我正在尝试使用一些宏来格式化一些数据,以便制作价格表。当我把这些信息放在excel中时,它可以正常工作,但是其中一些笔记会将其放到下一行。这应该将单元格内容添加到它上面的单元格中。如何附加具有公式值的单元格?
Sub Macro1()
For i = 8 To 100000
If Left(ActiveSheet.Cells(i + 1, 1).Value, 2) = "AC" Or ActiveSheet.Cells(i + 1, 1).Value = vbNullString Then
Else
If Left(ActiveSheet.Cells(i + 1, 1).Value, 4) = "Page" Then
ActiveSheet.Rows(i + 1).Delete shift:=xlUp
Else
Dim tempString As Variant
tempString = ActiveSheet.Cells(i + 1, 1).Value
ActiveSheet.Cells(i, 1).Value = ActiveSheet.Cells(i, 1).Value + " " + tempString
ActiveSheet.Rows(i + 1).Delete shift:=xlUp
i = i - 1
End If
End If
Next
End Sub
,直到我碰到一个单元格的值它工作得很好:
=- 4-7
(这是不是一个真正的公式,它只是看起来像一个) ,给了我一个类型不匹配错误。我应该用另一种方式来指定单元格内容吗?此外,可能有更好的方法来指定范围,我真的只想一直沿A列向下。任何帮助表示赞赏。
我无法复制您的错误?你可以在某个地方发布样本吗?我会做的Mods:1)我会在代码开始时用自动过滤器删除“页面”单元格2)在列A中设置从最后一个单元格向上看的范围而不是硬编码100000 3)删除自底向上的意思是你可以删除你的'i = i-1'修复 – brettdj 2012-03-10 05:10:41
+1)所有3个好点!即使我会推荐。这里是第4点:在Excel中连接字符串时使用“&”而不是“+” – 2012-03-11 15:23:25
谢谢!这非常有帮助,我很高兴地说这个子工作正常! – Riet 2012-03-13 16:00:37