【发布时间】:2016-04-19 17:41:47
【问题描述】:
我有一个 Excel 数据集,它在 A1 中有一个字符串,在 B1、B2 和 B3 中有与 A1 相关的其他值;依此类推。有时有超过三个单元格与另一个字符串相关(不可预测)。在此示例中,单元格 A2 和 A3 为空白。我想创建一个宏,用 A1 的内容填充 A2 和 A3(等)。
在下面的示例中,我使用 [] 帮助将其格式化为 Excel 单元格。我想从:
[SMITH, John] [Home]
[Mobile]
[Work]
[DOE, John] [Home]
[Mobile]
到
[SMITH, John] [Home]
[SMITH, John] [Mobile]
[SMITH, John] [Work]
[DOE, John] [Home]
[DOE, John] [Mobile]
我希望宏针对不同的迭代重复此操作,有时我需要手动调整 1000 行。调整输出数据的软件不是一种选择。
我的代码如下:
Sub rname()
Dim cellvar As String
Dim i As Integer
cellvar = ActiveCell
i = 0
While i < 50
If ActiveCell.Offset(1,0) = "" Then
ActiveCell.Offset(1,0) = cellvar
i = i + 1
ElseIf ActiveCell.Offset(1,0) = "*" Then
ActiveCell.Offset(1,0).Activate
i = i + 1
End If
Wend
End Sub
上述代码将文本添加到活动单元格下方的单元格一次,然后停止响应。以下代码运行一次并且不会停止响应 - 我可以再次运行它,但它不会自动向下移动一行。
Sub repeat_name()
Dim cellvar As String
Dim i As Integer
cellvar = ActiveCell
i = 1
For i = 1 To 50
If ActiveCell.Offset(1, 0) = "" Then
ActiveCell.Offset(1, 0) = cellvar
End If
If ActiveCell.Offset(1, 0) = "*" Then
ActiveCell.Offset(1, 0).Select.Activate 'I have tried .Offset(2,0)too
End If
i = i + 1
Next
End Sub
我被难住了。有人有什么想法或建议吗?
【问题讨论】: