- 締切済み
エクセル マクロについて
Sub Macro1() Set in1 = Application.InputBox(prompt:="入力範囲", Type:=8) i = in1.Offset(1, 0).Value Cells(1, 1).Value = i End Sub とするとエラーがでないのですが、 Sub Macro1() Set in1 = Application.InputBox(prompt:="入力範囲", Type:=8) i = in1.Offset(1, 0).Value Cells(1, 1).Value = i + 1 End Sub とするとエラーがでます。 i+1を表示するには、どう修正すればよいでしょうか。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
後半の Sub Macro1() Set in1 = Application.InputBox(prompt:="入力範囲", Type:=8) i = in1.Offset(1, 0).Value Cells(1, 1).Value = i + 1 End Sub をコピー貼り付けしてやってみると(わたしがやった1例では)エラーは出ません。 ただ選択した (1)セルの場所 (2)複数セルの選択 にもよると思われる 一番質問者に欠けているのは、関係(参照)データの有り様に よってエラーが出る場合があるという認識が足りないことだと思う。 そのためにもエラーコードなどを頼りに考えるのだ。 質問にも書くこと 直ぐ質問しないで考えて試行すること。「見ればわかる」という程度の原因ではないか。
- mu2011
- ベストアンサー率38% (1910/4994)
>+1を表示するには、どう修正すればよいでしょうか ⇒エラーは、文字+数値になっているからだ。 以下の点も含み、事前にどうするかを決めていない事が本当の原因です。 ・入力キャンセル時 ・セル範囲指定での入力時 ・入力先セルが文字列(今回のエラー) この対応については、ご質問者が決めなければ誰も決められませんので InputBoxでweb検索して色々のサンプル等を参考にご検討下さい。
- kokorone
- ベストアンサー率38% (417/1093)
>エラーが出ます って、どんなエラーですか? このような場合、エラーの内容も提示してくださいね。 Cells(1, 1).Value =Val( i) + 1 としてください。 i は、文字型になっているはずですから。 数字に変換する必要があります。
補足
回答ありがとうございます。 >エラーの内容も提示してくださいね。 「実行時エラー13:型が一致しません」とでました。 Cells(1, 1).Value =Val( i) + 1 としましたが、同様に「実行時エラー13:型が一致しません」となります。