[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『実行時エラー424オブジェクトが必要です』(じゃぽね)
VBAマクロ
すっかりお世話になっております。B6に別シートのセルを串刺ししたく それをInputBoxを使って入力させたくて 以下のようなマクロをやってみたのですが 実行時エラー424オブジェクトが必要ですとなりました。 根本的にまったく間違っているのかもしれませんが、ご教授ください。
Sub sell()
Dim c As Range
Range("B6").Select Set c = Application.InputBox(Prompt:="シート", Type:=8) ActiveCell.FormulaR1C1 = "c"
End Sub
Sub sell()
Dim c As String
Range("B6").Select
c = Application.InputBox(Prompt:="シート", Type:=0) ActiveCell.Formula = c
End Sub
インプットボックスのTypeを0にして数式にすると大丈夫のようです (りな)
串刺ししたいというところから考えるに、間接的にセルを参照したいという ことですよね。 オブジェクトが必要だといってるので、cはObjectで宣言してあげてください。
あと、"c"はダメです。 これではcは文字列になってしまいます。
Sheet3のA1に123と入っていて、アクティブシートのB6に値を表示したいなら InputBoxには Sheet3!A1 と入力です。 (ramrun)休憩〜
Sub sell()
Dim c As Object
Range("B6").Select Set c = Application.InputBox(Prompt:="シート", Type:=8) ActiveCell.FormulaR1C1 = c
End Sub
>オブジェクトが必要だといってるので、cはObjectで宣言してあげてください。 固有オブジェクト型で問題ないと思いますよ。 値を表示なら、"c" を c にするだけでいいのではないでしょうか (りな)
早速ありがとうございます。ひとつひとつ勉強になります。至らずで恐縮です。 ところでわたくし全く思い違いをしていたようでもう2点ほどお伺い してもよろしいでしょうか。結果としてRange("B6").Selectに設定 したいのが、='1月'!H8という数式なのです。InputBoxメソッド だとワークシートを直接クリックして入力ボックスにセル参照できる と読んだものですから、それで数式が入力されるものと思ってしまい ました。お知恵をお願いいたします。(じゃぽね)
>Range("B6").Selectに設定したいのが、='1月'!H8という数式なのです。 わたしの作ったマクロでできませんか? (りな)
で できました〜。すいません。Stringのコピー漏れでした。 ありがとうございます。(じゃぽね)
これは(汗)。 単に私が未熟なだけでしたね。
というか、これ2年ぐらい前に同じ間違いをしたのを思い出しました。 その当時も今回も、Refeditを使わないとドラッグでセル参照できないと 思ってたんですよね。
そしてその当時も同じようにInputBoxの使い方を思い知らされて、 InputBoxってすげぇなぁ〜と感動したのもつかの間、 もう忘れてしまっていたようです(汗)。
Range、Objectも単なるアフォの発言でつな。
(おいぼれramrun)捨てるカミあれば拾うカミあり
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.