Visual Basic Active Cellにテキスト「A」が含まれている場合、1を右側のセルに挿入します

StackOverflow https://stackoverflow.com/questions/4856617

質問

タスクは、現在選択されているセルに「a」が含まれていて、セルに1を右に挿入し、(以下のデータのため)下の新しい行を挿入し、1の下のセルを0で埋めます。

したがって、セルに「a」が含まれている場合、マクロが実行されるときに残します。 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つの異なる値を同じ文字列に割り当ててから、セルを文字列と比較します。それらが同じ場合、2つのセルの値を初期化していない2つの文字列の値に設定します。

あなたは初期化するつもりだと思います text0, text1text2 同様に、初期化する代わりに text 四回。

「編集ループ」の意味がわかりません。コードにループはありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top