質問編集履歴
2
画像を分かりやすく変更し、問題点の説明も分かりやすく追加しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|

|
8
8
|
|
9
9
|
**②Sheet2**
|
10
|
-

|
11
11
|
|
12
12
|
**③結果**
|
13
13
|
説明]
|
@@ -23,7 +23,7 @@
|
|
23
23
|
上記A列に「Total」を結合させた文字列をメインキーとして、
|
24
24
|
下記の図A1~B6の範囲をVlookupの検索範囲としたいが、
|
25
25
|
A列にスペースが入っているためきちんと参照できていない
|
26
|
-

|
27
27
|
|
28
28
|
### 【コード】
|
29
29
|
```ここに言語を入力
|
@@ -82,6 +82,7 @@
|
|
82
82
|
'Vlookup
|
83
83
|
Dim ret As String
|
84
84
|
|
85
|
+
'★★★
|
85
86
|
ret = WorksheetFunction.VLookup(MainKey, subTbl, 2, False)
|
86
87
|
ws_MainSheet.Range(Assin_col & cnt).Value = ret
|
87
88
|
|
@@ -112,12 +113,18 @@
|
|
112
113
|
しかし、今回はSheet2のA列にスペースが入っているのでちゃんと動きません。
|
113
114
|
(スペースは全角、半角、または半角を2つなど色々なパターンがあります)
|
114
115
|
|
116
|
+
もしSheet2のA列にスペースがなくて、例えば「1月Total」と言うデータになっていれば
|
115
|
-
|
117
|
+
Sheet1のA列に「Total」を結合させた文字列をキーにしてすぐにVlookupができます。
|
116
118
|
|
117
|
-
|
119
|
+
でも、Sheet2のA列にスペースがあるからそれが難しいということで困っています。
|
118
120
|
|
121
|
+
なお、ワイルドカードを使えば?とおっしゃる方もいると思いますが、今回は**検索範囲をあらかじめsubTblにセットしている**のでどうやればいいのかも分かりません。
|
122
|
+
|
119
123
|
Vlookup関数を動かす前にあらかじめSheet2のA列からスペースを削除しておけばいいのだと思いますが、どうやればいいのかなと悩んでいます。
|
120
124
|
|
125
|
+
**でもSheet2の方でA列のデータをコピーし、新しくC列に貼り付けて、そこでスペースを削除する、
|
126
|
+
その後、C列に対してVlookupを使うというのは不可、です。**
|
127
|
+
|
121
128
|
どうやればSheet2のA列のスペースを削除した上でVlookup関数を動かすことができるのでしょうか?
|
122
129
|
|
123
130
|
ちなみに、**別の列にあらかじめスペースを削除した値を貼り付けるというのはしないものとします**。
|
1
勘違いしている人がいるので、もっと詳しく書きました!
title
CHANGED
File without changes
|
body
CHANGED
@@ -17,6 +17,14 @@
|
|
17
17
|
1:①のSheet1のA列に「Total」を結合させた文字列を作成
|
18
18
|
2:1の文字列をキーにしてVlookupでSheet2のA列を探し、見つかったらB列の値を①のD列にセット
|
19
19
|
|
20
|
+
### 【悩んでいること】
|
21
|
+

|
22
|
+
|
23
|
+
上記A列に「Total」を結合させた文字列をメインキーとして、
|
24
|
+
下記の図A1~B6の範囲をVlookupの検索範囲としたいが、
|
25
|
+
A列にスペースが入っているためきちんと参照できていない
|
26
|
+

|
27
|
+
|
20
28
|
### 【コード】
|
21
29
|
```ここに言語を入力
|
22
30
|
Option Explicit
|
@@ -100,15 +108,19 @@
|
|
100
108
|
|
101
109
|
|
102
110
|
### 【問題点】
|
103
|
-
上記のコードだと、Sheet2のA列にスペースがない場合は問題なく動きます。
|
111
|
+
上記のコードだと、**Sheet2のA列にスペースがない場合は問題なく動きます**。
|
104
112
|
しかし、今回はSheet2のA列にスペースが入っているのでちゃんと動きません。
|
105
113
|
(スペースは全角、半角、または半角を2つなど色々なパターンがあります)
|
106
114
|
|
107
|
-
|
115
|
+
ワイルドカードを使えば?とおっしゃる方もいると思いますが、今回は**検索範囲をあらかじめsubTblにセットしている**のでどうやればいいのかも分かりません。
|
108
116
|
|
117
|
+
subTblに対してスペースを削除できればいいのですが、subTblはA列だけでなくB列も入っているのでできないようです。
|
118
|
+
|
119
|
+
Vlookup関数を動かす前にあらかじめSheet2のA列からスペースを削除しておけばいいのだと思いますが、どうやればいいのかなと悩んでいます。
|
120
|
+
|
109
121
|
どうやればSheet2のA列のスペースを削除した上でVlookup関数を動かすことができるのでしょうか?
|
110
122
|
|
111
|
-
ちなみに、別の列にあらかじめスペースを削除した値を貼り付けるというのはしないものとします。
|
123
|
+
ちなみに、**別の列にあらかじめスペースを削除した値を貼り付けるというのはしないものとします**。
|
112
124
|
|
113
125
|
どなたかご存知の方教えていただけると幸いです。
|
114
126
|
それではどうぞよろしくお願いいたします。
|