Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 8 : Excel 2013)
VBA内の関数について
投稿日時: 20/07/07 01:31:33
投稿者: OkabeS

連続のご質問申し訳有りません。
先の質問とは別の角度から、以下ご質問させてください。
 
以下index,matchの関数をVBAに入れたい場合ですが、Selection.Formulaの行が「構文エラー」となります。
"_"の部分が引っかかっているように見えますが、どのように変えたら良いでしょうか?
 
■コード
Worksheets("Sheet1").Range("A1:A3").SpecialCells(xlCellTypeVisible).Select
隣のセル = ActiveCell.Offset(0, 1).Address(RowAbsolute:=False, ColumnAbsolute:=True)
Selection.Formula = "=INDEX('別表'!A:B,MATCH(SUBSTITUTE(" & 隣のセル & " , "_", " "),'別表'!A:B,0),2)"
 
例)
■Sheet1
   A    B
1 ?  ね_こ
2 ?  い_ぬ
3 ?  い_ぬ
 
■別表
   A    B
1 ねこ  100
2 いぬ  200

回答
投稿日時: 20/07/07 08:46:50
投稿者: simple

気づいた点。
1 . 文字列の中に"(ダブルクォーテーション)を入れる時は、
    ""と二つ続ける必要があります。2個続けたものが1つに相当します。
2. Matchの対象列はA列だけでよいのではないか。
  
なお、Replaceの用法が異なっていると気づいたのだから、
前のスレッドは、もう意味がないはずでは?
削除したほうがよいと思います。

回答
投稿日時: 20/07/07 09:05:13
投稿者: simple

書き忘れたが、" "じゃなく、""に置換するんじゃないですか?

投稿日時: 20/07/07 22:37:49
投稿者: OkabeS

simple様
 
早速のご回答ありがとうございます。
""と二つ続けることで解決しました。
助かりました。