VBA(エクセル)で教えて下さい。開いていないBOOKのシートを開いているBOOKのシートに貼り付けで、開いているBOOKから開いていないBOOK名を指定したいのですが、
現在開いているエクセルです。
SHEETS(Type)のRANGE(A1)に閉じているBOOK名を入力します。
SHEETS(In)に閉じているBOOKのSHEETSを貼り付けたいのですが、
Ex = Sheets("Type").Range("A1") が無いと閉じているEx.xlsを貼り付けます。
このExと言うBOOK以外も多々コピーしたいのですが、どのように書けば良いか分からず、
是非、教えて下さい。
Sub a1()
Dim wsSrc As Worksheet, WS As Worksheet
Dim PasteR As Range
Dim x As Long
Sheets("In").Select
Cells.Select
Selection.Delete Shift:=xlUp
Range("A1").Select
'If Worksheets(1).Name = "STEP1" Then
' Worksheets(1).Activate
' Cells.ClearContents
' Else
'Worksheets.Add(Before:=Worksheets(1)).Name = "一覧"
'End If
Ex = Sheets("Type").Range("A1")
Set wsSrc = ActiveSheet
Workbooks.Open "C:\WINDOWS\デスクトップ\test\Ex.xls"
For Each WS In Worksheets
x = WS.Range("A1").CurrentRegion.Rows.Count
If WS.Index = 1 Then
Set PasteR = wsSrc.Range("A1")
Else
Set PasteR = wsSrc.Range("A65536").End(xlUp).Offset(1)
End If
WS.Range(WS.Cells(1, 1), WS.Cells(x, 44)).Copy PasteR
Set PasteR = Nothing
Next
ActiveWorkbook.Close False
Set wsSrc = Nothing
End Sub
No.1ベストアンサー
- 回答日時:
ご質問の意図をつかみ損なっているかもしれないので、見当違いかもしれませんが。
>SHEETS(Type)のRANGE(A1)に閉じているBOOK名を入力します。
で、その名前のブックを開くのなら
Dim Ex As String
Ex = Sheets("Type").Range("A1").Text
Workbooks.Open "C:\test\" & Ex & ".xls"
とすればいいのではないでしょうか。
#はずしていたらすみません。
ありがとうございます。
Sheets("Type").Range("A1").Text
に入力したBOOK名がOPEN致しました。
No.3
- 回答日時:
こんにちは。
提示されたソースを見る限り、 Ex に代入された Sheets("Type").Range("A1") のデータは何にも使われてないですよ。
特定フォルダ内にあるファイルを扱うなら、既に#1さんが回答を出されています。
そうじゃないならフルパスで指定するようにするか、処理時にファイルを指定させるか、、、でしょう。
Sub aaa()
Dim FName
FName = Application.GetOpenFilename("Excel(*.xls), *.xls")
If FName <> False Then
Workbooks.Open FName
'処理
End If
End Sub
ありがとうございます。
特定フォルダ内なのですが、後編フルパス指定時の
ファイルの所得方法も学べて、プラスαです。
勉強になりました。
No.2
- 回答日時:
私の場合、c:\My Documentsにbbb.xlsとccc1.xlsがあります。
新規に開いたエクセルのsheet1のA1:A2にbbb.xls
ccc1.xls
と入力しています。
そしてsheet2,sheet3があります。iを増やすなら
予め増やしておくか、ActiveWorkbook.Sheets.Addが
必要でしょう。
そういう下で
Sub test01()
For i = 1 To 2
b = Worksheets("sheet1").Cells(i, "A")
MsgBox b
n = ActiveWorkbook.Name
Workbooks.Open "c:\my documents\" & b
ActiveWorkbook.Worksheets("sheet1").Activate
ActiveSheet.Range("a1:h10").Copy
Workbooks(n).Worksheets("sheet" & (i + 1)).Activate
Range("a1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Workbooks(b).Close
Next i
End Sub
を実行するとSheet2,Sheet3にbbb.xlsのsheet1,
ccc1.xlsのSheet1をそれぞれコピーしました。
Activeの使い方やRangeのコピーを使っている点など
をご参考になれば。ただし危ない橋を渡っている気がするので、更に拡張してご質問者のやりたいようにするには
難題が待ちうけているかもしれませんがよろしく。
・Activeのこと・Pasteのこと・保存するまでのファイル名の問題など知りたいのですが、私の理解が十分でないことを認識しています。
今回BOOK名は不特定で指示したBOOKをシートにコピーする
形を作成したかったので、
1・3の方と合わせて作成します。
本当にありがとうございました。
また皆様、お礼が遅れまして申し訳ございませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB2010でExcelの行をコピーして...
-
フォルダ内の全ブックのシート...
-
ExcelVBAで今開いているユーザ...
-
personal.xlsの削除方法
-
VBA セル入力された日付データ...
-
Excelの一括印刷で通し番号をつ...
-
エクセル アプリケーションの...
-
エクセルVBA Workbook変数に変...
-
すでに開いているブックのマク...
-
excelでハイパーリンク 別ブッ...
-
【VBA】他のExcelを起動し、呼...
-
フォルダ内の全ブックのシート...
-
excelマクロ、任意セルの値で名...
-
【ExcelVBA】指定の書式で、マ...
-
cellsで特定の離れた範囲を選択...
-
複数のデータ系列の線の太さを...
-
Powerpointでランダムな数字の...
-
エクセルでツールバーに「縮小...
-
エクセルの指数を無効にしたい
-
コピーしたファイルのマクロを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォルダ内の全ブックのシート...
-
ExcelVBAで今開いているユーザ...
-
VB2010でExcelの行をコピーして...
-
エクセルVBA Workbook変数に変...
-
【ExcelVBA】指定の書式で、マ...
-
フォルダ内の全ブックのシート...
-
【Excel VBA】ブックを複数開い...
-
フォルダ内の全てのBookに同じ...
-
すでに開いているブックのマク...
-
EXCELマクロでxlsとxlsxを開く方法
-
VBA セル入力された日付データ...
-
VBA、Excelのworkbook.open に...
-
personal.xlsの削除方法
-
excelマクロ、任意セルの値で名...
-
コマンドボタンでマクロを起動...
-
エクセルVBAでブックを開くと処...
-
VBAでEXCELのワークシートを削...
-
EXCELマクロで上書きメッ...
-
[Excel VBA] フォルダ内の複数...
-
EXCEL VBA起動時の処理
おすすめ情報