質問編集履歴

4

ご指摘をうけ

2023/10/20 03:58

投稿

kumiko
kumiko

スコア48

test CHANGED
@@ -1 +1 @@
1
- エクセルvba 左から左から7~8文字目がが_0なら_0を削除
1
+ エクセルvba 左から7~8文字目がが_0なら_0を削除
test CHANGED
@@ -24,7 +24,7 @@
24
24
  p = intRowEnd '最終行番号を行カウンタにセット
25
25
 
26
26
  Do While p >= 2
27
- If Left(Right(Sheets("renewal_csv (2)").Cells(p, 4).Value, 7), 2) = "_0" Then 'から7文字目の2文字がアンダーバー0なら
27
+ If Left(Right(Sheets("renewal_csv (2)").Cells(p, 4).Value, 7), 2) = "_0" Then 'から7文字目の2文字がアンダーバー0なら
28
28
  Sheets("renewal_csv (2)").Cells(p, 4).Replace "_0", "" ' _0を削除
29
29
  End If
30
30
  p = p - 1

3

ご指摘をいけてイメージ画像をいれてみました

2023/10/20 02:59

投稿

kumiko
kumiko

スコア48

test CHANGED
@@ -1 +1 @@
1
- エクセルvba 左から7文字目が_0なら_0を削除
1
+ エクセルvba 左から左から7~8文字目が_0なら_0を削除
test CHANGED
@@ -1,6 +1,7 @@
1
1
  ### 実現したいこと
2
2
 
3
- エクセル4列目を上から順に確認していき、左から7~8文字目が_0(アンダーバー)なら_0を削除
3
+ エクセル4列目を上から順に確認していき、左から7~8文字目が_0(アンダーバー0)なら_0を削除
4
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-10-20/db6a83f4-a765-47da-b3b9-57d1b7658d4f.png)
4
5
 
5
6
  ### 前提
6
7
  Microsoft® Excel® for Microsoft 365 MSO (バージョン 2309 ビルド 16.0.16827.20166) 64 ビット
@@ -38,7 +39,8 @@
38
39
  msgbox Left(Right(Sheets("renewal_csv (2)").Cells(p, 4).Value, 7), 2)
39
40
  といれても無反応なのでここの書き方がおかしいのだろうとおもわれます
40
41
 
41
- その他、合致する条件をorで入れて
42
+ その他、絶対に合致する条件をorで入れて
43
+ then 
42
44
  msgbox”あ”
43
45
  としたら反応したのでループ自体はしてくれているようです
44
46
 

2

試したことがないと指摘され追記しました

2023/10/20 02:38

投稿

kumiko
kumiko

スコア48

test CHANGED
File without changes
test CHANGED
@@ -32,5 +32,13 @@
32
32
  End Sub
33
33
 
34
34
  ```
35
+ ### 試したこと
36
+ If Left(Right(Sheets("renewal_csv (2)").Cells(p, 4).Value, 7), 2) = "_0" Then
37
+ のあとに
38
+ msgbox Left(Right(Sheets("renewal_csv (2)").Cells(p, 4).Value, 7), 2)
39
+ といれても無反応なのでここの書き方がおかしいのだろうとおもわれます
35
40
 
41
+ その他、合致する条件をorで入れて
42
+ msgbox”あ”
43
+ としたら反応したのでループ自体はしてくれているようです
36
44
 

1

誤記

2023/10/20 02:17

投稿

kumiko
kumiko

スコア48

test CHANGED
@@ -1 +1 @@
1
- エクセルvba 左から7文字目が_なら_0を削除
1
+ エクセルvba 左から7文字目が_0なら_0を削除
test CHANGED
@@ -14,7 +14,7 @@
14
14
  ### 該当のソースコード
15
15
 
16
16
  ```エクセルvba
17
- Sub 左から7文字目が_なら_0を削除()
17
+ Sub 左から7文字目が_0なら_0を削除()
18
18
  Dim intRowEnd As Integer '最終行番号を格納
19
19
  Dim p As Integer '行カウンタ
20
20
  Dim x As String