teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

マークダウン書式に変更

2019/09/13 05:25

投稿

sishou
sishou

スコア9

title CHANGED
File without changes
body CHANGED
@@ -3,6 +3,7 @@
3
3
 
4
4
  さて、次のようなコードを書きました。
5
5
 
6
+ ```ここに言語を入力
6
7
  Sub 文字列検索()
7
8
  Application.ScreenUpdating = False
8
9
  Dim MaxRow As Byte, MaxRow2 As Byte, i As Byte, length As Byte, j As Byte, MaxLen As Integer, k As Integer, rng As String, start As Integer
@@ -40,6 +41,7 @@
40
41
  Next j
41
42
  Next i
42
43
  End Sub
44
+ ```
43
45
 
44
46
  この記述で検索文字を半角にして実行すると18行目がスルーされ、同じ構文の27行目の"If InStr(k, Cells(j, 5), rng) > 0 Then"の部分で「プロシージャの呼び出し、または引数が不正です。」と表示されてエラーになり、その下の行の変数startが0になってしまいます。
45
47
  また、全角文字で検索すると、対象文の中の同じ全角文字は検索できますが、半角で入力されたものはスルーされてしまいます。

1

画像を添付して補足を追加しました。

2019/09/13 05:25

投稿

sishou
sishou

スコア9

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- VBA初心者です。
1
+ ![イメージ説明](3b965b9acb4f632160083e22e63f94f9.png)VBA初心者です。
2
2
  お手柔らかにお願いします。
3
3
 
4
4
  さて、次のようなコードを書きました。
@@ -48,4 +48,12 @@
48
48
  なお、このマクロの目的は検索対象の文章の中に、検索したい文字が全角であったり半角で入力されたりしているため、マクロで検索したい文字を全角と半角に置き換えてそれぞれを検索し、見つかった場合はフォントサイズを大きくして色を変えたい、というものです。
49
49
  また、検索対象の文章の中に検索文字が複数ある場合があるため、1度見つけても次の位置から最後の文字まで再度検索させています。
50
50
  わかりにくければ補足させていただきます。
51
- よろしくお願いします。
51
+ よろしくお願いします。
52
+
53
+ 【画像についての説明】
54
+ E列が検索対象となる文章が入力されている列、I列が検索文字を入力する列です。
55
+ 文章は適当に貼りつけたものなので、内容は気にしないでください。
56
+ 検索文字の「英語」ではE2のセルで見つけますが、「男」ではE2とE6のセルで見つけます。
57
+ また、「マゾ」ではE7のセルの”マゾ"と"マゾ"の両方を検索できるようにしたいです。
58
+ 不明な点があれば答えさせていただきます。
59
+ よろしくお願いいたします。