[[20171208134655]] 『二つのシートを新規ファイルにコピーしたいのです』(お肉さん) ページの最後に飛ぶ

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

 

『二つのシートを新規ファイルにコピーしたいのですが』(お肉さん)

ご協力頂けると助かります。
マクロで特定のシートを複数選んで新しいファイルに移したいと思い以下の様な感じでトライしてみましたが

インデックスに有効範囲にありません(Error9)
と出ます。根本的に間違っているかもわかりませんのでご教授頂けると助かります。
他にやりたい事としては
1、それぞれのシートのA1セルにシートの見出しになる情報が入っています。
2、その名前がシートの見出しになる様にしたいです。
3、複数のシートをまとめて新しいファイルにコピーさせたいです。

Sub シート移動()
'
' シート移動 Macro
'

'

    Dim ws As Worksheet
    Dim ws1 As Worksheet
    Set ws = Sheet1
    Set ws1 = Sheet2

    Dim i As String
    Dim n As String
    ws.Activate
    i = Range("A1").Value
    ws1.Activate
    n = Range("A1").Value
    Dim a As Variant
    a = Array("i", "n")
    Sheets(a).Copy
End Sub

よろしくお願いします

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


 >a = Array("i", "n")
 "で括ると変数名ではなく単なる文字として扱われる。
 "をとって
 >a = Array(i, n)
 とするとどうなるだろうか?

(ねむねむ) 2017/12/08(金) 14:13


 あと、シートを変数に代入しているのであればそれをアクティブにしてからセルの値を取らずに
 >ws.Activate
 >i = Range("A1").Value
 >ws1.Activate
 >n = Range("A1").Value
 を
 >i = ws.Range("A1").Value
 >n = ws1.Range("A1").Value
 とできる。

(ねむねむ) 2017/12/08(金) 14:15


ねむねむさんありがとうございます。早速試してみましたが下記の所でエラーが出てしまいました。

Sheets(a).Copy

最後のこの文で必ずエラーが出てしまいます。

何か新しいお知恵を拝借できれば助かります。
よろしくお願いします
(お肉さん) 2017/12/08(金) 14:33


 もともとのシート名は別なのだろうか?
 もしそうであれば、まずは元のシート名でコピー後、シート名を変更するか、最初にシート名を変更してからコピーしてはどうか。
(ねむねむ) 2017/12/08(金) 14:38

早速の返信ありがとうございますシート名を固定するとうまくいきました。とりあえずそれでいこうと思います。
ありがとうございました。
(お肉さん) 2017/12/08(金) 14:42

コメント返信:

[ 一覧(最新更新順) ]


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