[[20200511113538]] 『リストの文字列を使い、参照して開く』(noa) ページの最後に飛ぶ

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

 

『リストの文字列を使い、参照して開く』(noa)

(他の質問[[20200510143625]]が完了していない状態で新規質問申し訳ありません。)

よろしくお願いします。

別ブックの別シートから内容をコピペしたい。
参照したい別ブック名&別シート名は、作業シートのセルに入力されており、
その入力内容を使って、別ブックの別シートからコピペしてきたい。

たとえば、

作業ブックのシート(1)の
 セルA1に「ぶっく2」
 セルB1に「しーと2」 と入力してある。

作業ブックのシート(2)に、
 上記の「ぶっく2」の「シート2」のA:Dをコピーして貼り付けたい。

…といったことは可能でしょうか。

< 使用 Excel:unknown、使用 OS:unknown >


 こんにちは ^^
可能だと思いますので、ご質問の内容は前回と同じ処理なら、マナさんのご質問に
お答えください、それと、EXCELのバージョン、とOSも教えていただくと、多数
アドバイス、回答が有ると思います←多分^^;。。。でわ。。。m(_ _)m
(隠居じーさん) 2020/05/11(月) 14:10

隠居じーさん様

ありがとうございます。

>質問の内容は前回と同じ処理なら、マナさんのご質問に

「前回と同じ処理」おっしゃる意味が理解できていませんが(すみません)、
ひとまず前の質問にも追記してみます。

>EXCELのバージョン
Excel2016
>OS
win10
です。
(noa) 2020/05/11(月) 14:24


こんにちは ^^
すみません、別件でしたら、その、各ブックのフォルダは同じフォルダ内
というう事でしょうか。それとも、作業ブックは、とあるフォルダに有り
ぶっく2は
>> セルA1に「ぶっく2」
にフルネーム(絶対パス指定)で格納されているのでしょうか。

(隠居じーさん) 2020/05/11(月) 14:35


隠居じーさん様

ありがとうございます。

フォルダ1
 vbaを置きたいブック1

  関係ないブック
 サブフォルダ1
  参照したいぶっく2
  関係ないブック

の形で入っています。

ブック1に入力されている「ぶっく2」「しーと1」は、それぞれブック名とシート名が
文字列として入っているのみです。

ChDir Thisworkbook.Path & "\サブフォルダ1¥"

 workbooks.open filename:=thisworkbook.path & "\サブフォルダ1" & range("A1").value & ".xlsx"

↑こんな感じで始めればいけるのかな…?と試行錯誤していますが、
この後のシート指定、コピー等もふくめ、うまくいきません。

(noa) 2020/05/11(月) 15:05


 こんにちは ^^
いろいろ方法はあるかと思いますが、一案で。。。(#^.^#)
作業ブック.xlsmの左から2番目のシートは初期化されます。要バックアップです。 ^^;
Option Explicit
Sub OneInstanceMain()
    Const zProgramID As String = "作業ブック.xlsm"
    Dim zTb           As Workbook
    Dim zWB           As Workbook
    Dim zWbnm         As String
    Dim zWsnm         As String
    Set zTb = Workbooks(zProgramID)
    With zTb.Worksheets(1)
        zWbnm = .Cells(1, 1)
        zWsnm = .Cells(1, 2)
    End With
    zTb.Worksheets(2).UsedRange.Clear
    Set zWB = Workbooks.Open(zTb.Path & "/サブフォルダ1/" & zWbnm)
    Intersect(zWB.Worksheets(zWsnm).Range("a:c"), zWB.Worksheets(zWsnm).UsedRange).Copy _
        zTb.Worksheets(2).Cells(1)
    zWB.Close False
    Set zWB = Nothing
    Set zTb = Nothing
End Sub
(隠居じーさん) 2020/05/11(月) 15:17

隠居じーさん様

ありがとうございます! 無事動きました。
重ねてお聞きしてよろしいでしょうか。
Intersect、Usedrange 、調べてみたのですがよくわからず・・・
指定した範囲の中の、データが入力されているところだけ指定する、ということでしょうか。

(noa) 2020/05/11(月) 16:51


こんにちは ^^
え〜と、「範囲が重なった部分」だったかと思います。
わたしのいい加減な説明よりも下記サイト等が参考に
なるかと思います。でわ
http://officetanaka.net/excel/vba/cell/cell10.htm
https://excel-ubara.com/excelvba1/EXCELVBA402.html
(隠居じーさん) 2020/05/11(月) 17:18

隠居じーさん様

何度もお付き合いありがとうございました。
usedrange、便利ですねぇ。使えるようになったら指定漏れが減りそうです。
intersectは、読んでみましたがどうやって使えばよいかまだ理解できていません。
が、もうちょっと勉強してみます。ありがとうございました。
(noa) 2020/05/11(月) 17:32


 こんばんは ^^
ご丁寧に、恐縮です。。。m(_ _)m
私も、楽しく勉強させて戴きました。
試しに、selectで範囲指定してみると、解りやすいかもしれません。
私は、配列等に格納する前に、テストでよく希望の範囲が選択されて
いるか。頻繁に確認致します。では、失礼致します。m(_ _)m。。。
(隠居じーさん) 2020/05/11(月) 17:50

コメント返信:

[ 一覧(最新更新順) ]


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