[[20190624194837]] 『インデックスでシート参照』(Br) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『インデックスでシート参照』(Br)

初心者でかつ、検索方法もわからなくて質問させてください。

下記を実行しようとすると、インデックスが有効範囲にありません。
とエラーになります。
E5にはmatch関数で4の値が、シートは総数で8枚あります

Sub 結果転送()

    Dim s As String
    s = Range("E5").Value
    Worksheets(s).Range("A1:M30").Copy Worksheets("前").Range("A1:M30")
End Sub

解決方法のご教示よろしくお願いいたします。

< 使用 Excel:Excel2016、使用 OS:Windows7 >


 > Dim s As String

 ↓にしたらどうなりますか?

 Dim s As Integer

 あるいは、

 Worksheets(Cint(s)).Range("A1:M30").Copy Worksheets("前").Range("A1:M30")
(カリーニン) 2019/06/24(月) 19:58

ご回答ありがとう御座います。

どちらも試しましたが、同様にエラーが発生しました。
sに手打ちで4の数字を入力するとエラーなく実行されるのですが…
(Br) 2019/06/24(月) 20:03


カリーニンさんので、本当にだめでしたか。
↓の違いは理解できていますか。
 Worksheets("4").Range("A1:M30").Copy Worksheets("前").Range("A1:M30")
 Worksheets(4).Range("A1:M30").Copy Worksheets("前").Range("A1:M30")

(マナ) 2019/06/24(月) 20:17


上記は"4"という名前のシートからコピー
下記は左から数えて4番目のシートからコピーだと
認識していたのですが、間違っていますでしょうか

説明不足で申し訳なかったのですが
私は今回、4番目のシートからコピーしたかったのですが
方法が間違っていますでしょうか
(Br) 2019/06/24(月) 20:25


 >sに手打ちで4の数字を入力するとエラーなく実行されるのですが…

 E5 に手打ちで4の数字を再入力すると????
(BJ) 2019/06/24(月) 20:28

>私は今回、4番目のシートからコピーしたかったのですが

では、なぜ、String にするのですか。

 >   Dim s As String

(マナ) 2019/06/24(月) 20:39


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.