Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1002 / 13644 ツリー ←次へ | 前へ→

【76919】正しいコードをご教示願います まき 15/4/13(月) 19:39 質問[未読]
【76920】Re:正しいコードをご教示願います マナ 15/4/13(月) 19:58 発言[未読]
【76926】Re:正しいコードをご教示願います まき 15/4/13(月) 20:54 お礼[未読]
【76927】Re:正しいコードをご教示願います まき 15/4/13(月) 21:05 質問[未読]
【76928】Re:正しいコードをご教示願います マナ 15/4/13(月) 21:53 発言[未読]
【76930】Re:正しいコードをご教示願います まき 15/4/14(火) 12:23 発言[未読]
【76931】Re:正しいコードをご教示願います 独覚 15/4/14(火) 14:09 発言[未読]
【76933】Re:正しいコードをご教示願います まき 15/4/15(水) 11:27 お礼[未読]

【76919】正しいコードをご教示願います
質問  まき  - 15/4/13(月) 19:39 -

引用なし
パスワード
   よろしくお願いします

下記のコードを書きましたがエラー1、エラー2が出てしまいます

Sub ボタン3_Click()
Dim i As Integer
Dim strSheetName As Worksheet
Set strSheetName = ActiveSheet
       ・
       ・
       中略
       ・
       ・  
Sheets(strSheetName).Select ・・・・エラー1(型が一致しません)
       ・
       ・
       中略
       ・
       ・
Range("B27").Select
ActiveCell.Formula = "=Index(Worksheets(strSheetName).Range(""A1:A1000""), Match(D27, Worksheets(strSheetName).Range(""C1:C1000""), False))" ・・・・エラー2(アプリケーション定義またはオブジェクト定義のえらーです。)

※FormulaをValueに変えても同じ

それぞれどこがおかしいかご教示いただくと嬉しいです
よろしくお願いします

【76920】Re:正しいコードをご教示願います
発言  マナ  - 15/4/13(月) 19:58 -

引用なし
パスワード
   >Dim strSheetName As Worksheet
>Set strSheetName = ActiveSheet

Dim strSheetName As String
strSheetName = ActiveSheet.Name
でどうでしょうか。

【76926】Re:正しいコードをご教示願います
お礼  まき  - 15/4/13(月) 20:54 -

引用なし
パスワード
   ▼マナ さん:
ありがとうございます
エラー1が出なくなりました。助かりました

エラー2については 大変バカな質問の仕方をしているので
改めてコードを書き直します

【76927】Re:正しいコードをご教示願います
質問  まき  - 15/4/13(月) 21:05 -

引用なし
パスワード
   家に帰って改めて質問を見ていると
中略の仕方が悪いためにわけわからん質問になっていました
改めて書き直します

Sub ボタン3_Click()
Dim i As Integer
Dim strSheetName As String
strSheetName = ActiveSheet.Name

Sheets(strSheetName).Select ・・・・OK!
        ・
       中略
       ・  
Sheets("Sheet2").Select  ・・・(strSheetNameではありません)
Range("B27").Select
ActiveCell.Formula = "=Index(Worksheets(strSheetName).Range(""A1:A1000""), Match(D27, Worksheets(strSheetName).Range(""C1:C1000""), False))" ・・・・エラー2(アプリケーション定義またはオブジェクト定義のえらーです。)

いったん最初のボタンの存在するシートで作業を行い(エラーが出ないので中略としています)、
次にSheet2に行ってB27のセルに上記の式を入れたいということでした
わかりにくかったらすみません
よろしくお願いします

【76928】Re:正しいコードをご教示願います
発言  マナ  - 15/4/13(月) 21:53 -

引用なし
パスワード
   "=Index(" & strSheetName & "!A1:A1000), Match(D27," & strSheetName & "!C1:C1000), False))"

でしょうか?

【76930】Re:正しいコードをご教示願います
発言  まき  - 15/4/14(火) 12:23 -

引用なし
パスワード
   ▼マナ さん:
>"=Index(" & strSheetName & "!A1:A1000), Match(D27," & strSheetName & "!C1:C1000), False))"
>
>でしょうか?

早速のご教示ありがとうございます
ですが、まだ同じエラーが出ます

ですが該当のところにテスト的に

ActiveCell.Formula = "=VLOOKUP(A27," & strSheetName & "!$A$1:$D$65536,2,FALSE)"

と入れるとエラーは出ませんでした

私もいろいろサイトを調べたんですが、お手上げ状態です

【76931】Re:正しいコードをご教示願います
発言  独覚  - 15/4/14(火) 14:09 -

引用なし
パスワード
   ▼まき さん:
"=Index(" & strSheetName & "!A1:A1000), Match(D27," & strSheetName & "!C1:C1000), False))"
カッコの対応が取れていないようです。
また、VLOOKUP関数を使っていた時の残骸があるようですね。

"=Index(" & strSheetName & "!A1:A1000, Match(D27," & strSheetName & "!C1:C1000))"

【76933】Re:正しいコードをご教示願います
お礼  まき  - 15/4/15(水) 11:27 -

引用なし
パスワード
   ▼独覚 さん:
お陰様でうまくいきました!
コードの書き方もっと勉強しないといけないと思いました
助かりました

1002 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free