Visual Basic如果活动单元格包含文本“a”,则在右侧单元格中插入1

时间:2011-01-31 21:57:35

标签: excel-vba excel-2010 vba excel

任务是当前选定的单元格包含“a”,然后在右侧的单元格中插入1并且(由于下面的数据)在下面插入一个新行并用0填充1下面的单元格。 / p>

因此,如果单元格包含“a”,那么当宏运行时它会离开; 1   0

1位于a右侧的单元格中,1位于新行的单元格中,位于1的正下方的单元格中。

我目前的代码是;

Sub ChangeAToCells()
Dim text As String
text = "a"
Dim text0 As String
text = "b"
Dim text1 As String
text = "0"
Dim text2 As String
text = "1"


If ActiveCell = text Then
ActiveCell.Formula = text1
ActiveCell.Offset(1).EntireRow.Insert
ActiveCell.Offset(1, 0).Select
ActiveCell.Formula = text2
End If



End Sub

问题很明显,单元格的选择不起作用,我无法让循​​环退出,

2 个答案:

答案 0 :(得分:3)

Sub ChangeAToCells()
If ActiveCell = "a" Then
   ActiveCell.Offset(0, 1) = 1
   ActiveCell.Offset(1).EntireRow.Insert
   ActiveCell.Offset(1, 1) = 0
End If
End Sub

答案 1 :(得分:0)

您希望该代码做什么?首先将4个不同的值分配给同一个字符串,然后将单元格与字符串进行比较,如果它们相同,则将两个单元格的值设置为尚未初始化的两个字符串的值。

我认为你的意思是初始化text0text1text2,而不是初始化text四次。

我不明白'编辑循环'是什么意思。您的代码中没有循环。