[英]Visual Basic if active cell contains text “a” then insert a 1 into the cell to the right
任務是,如果當前選定的單元格包含“ a”,則在右側的單元格中插入1,然后(由於下面的數據)在下方插入新行,並在1下方的單元格中填充0。
因此,如果單元格包含“ 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
問題很明顯,單元格的選擇不起作用,我無法正確退出循環,
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
您期望該代碼做什么? 首先,為同一字符串分配4個不同的值,然后將一個單元格與一個字符串進行比較,如果它們相同,則將兩個單元格的值設置為尚未初始化的兩個字符串的值。
我認為您也打算初始化text0
, text1
和text2
,而不是初始化text
四次。
我不明白您所說的“編輯循環”是什么意思。 您的代碼中沒有循環。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.