回答編集履歴

3

修正

2021/12/21 02:19

投稿

退会済みユーザー
test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
  End If
32
32
 
33
- Next i
33
+ Next
34
34
 
35
35
  End With
36
36
 

2

サンプル追記

2021/12/21 02:19

投稿

退会済みユーザー
test CHANGED
@@ -1,3 +1,45 @@
1
1
  【】で囲まれた値を抽出するだけであれば、正規表現を使うと処理がシンプルになりそうな気がします。
2
2
 
3
3
  [正規表現によるマッチング](http://officetanaka.net/excel/vba/tips/tips38.htm)
4
+
5
+
6
+
7
+ 例えば、こんなコードで
8
+
9
+ ```ここに言語を入力
10
+
11
+ Private Sub CommandButton1_Click()
12
+
13
+ Dim regexp As Object
14
+
15
+ Dim i As Long
16
+
17
+ Set regexp = CreateObject("VBScript.RegExp")
18
+
19
+ With regexp
20
+
21
+ .Pattern = "^【.*】$"
22
+
23
+ .Global = True
24
+
25
+ For i = 1 To 5
26
+
27
+ If .Test(Cells(i, 2)) Then
28
+
29
+ Cells(i, 1) = Cells(i, 2)
30
+
31
+ End If
32
+
33
+ Next i
34
+
35
+ End With
36
+
37
+ Set regexp = Nothing
38
+
39
+ End Sub
40
+
41
+ ```
42
+
43
+ こうなります。
44
+
45
+ ![実行結果](68b22f866e7b7b06ec3cf6e30c26e28b.png)

1

追記

2021/12/21 02:17

投稿

退会済みユーザー
test CHANGED
@@ -1,3 +1,3 @@
1
- 正規表現を使うと処理がシンプルになりそうな気がします。
1
+ 【】で囲まれた値を抽出するだけであれば、正規表現を使うと処理がシンプルになりそうな気がします。
2
2
 
3
3
  [正規表現によるマッチング](http://officetanaka.net/excel/vba/tips/tips38.htm)