実現したいこと
エクセル4列目を上から順に確認していき、左から7~8文字目が_0(アンダーバー0)なら_0を削除
前提
Microsoft® Excel® for Microsoft 365 MSO (バージョン 2309 ビルド 16.0.16827.20166) 64 ビット
発生している問題・エラーメッセージ
以下のコードを実行しても動かないのですが誤りをご指摘いただけませんでしょうか
該当のソースコード
Sub 左から7文字目が_0なら_0を削除() Dim intRowEnd As Integer '最終行番号を格納 Dim p As Integer '行カウンタ Dim x As String '最終行番号の取得 intRowEnd = Sheets("renewal_csv (2)").Cells(Rows.Count, 1).End(xlUp).Row p = intRowEnd '最終行番号を行カウンタにセット Do While p >= 2 If Left(Right(Sheets("renewal_csv (2)").Cells(p, 4).Value, 7), 2) = "_0" Then '左から7文字目の2文字がアンダーバー0なら Sheets("renewal_csv (2)").Cells(p, 4).Replace "_0", "" ' _0を削除 End If p = p - 1 Loop End Sub
試したこと
If Left(Right(Sheets("renewal_csv (2)").Cells(p, 4).Value, 7), 2) = "_0" Then
のあとに
msgbox Left(Right(Sheets("renewal_csv (2)").Cells(p, 4).Value, 7), 2)
といれても無反応なのでここの書き方がおかしいのだろうとおもわれます
その他、絶対に合致する条件をorで入れて
then
msgbox”あ”
としたら反応したのでループ自体はしてくれているようです
回答1件
あなたの回答
tips
プレビュー