質問: false range("a2").select
回答: 日本語にしてみました。 ブックaaaをアクティブにする windows("aaa.xls").activate dim tbl, gyo, burank セルi4を選択 range("i4").select アクティブセル領域tblを定義。セルi4を含む空白行と空白列で囲まれた領域。多分連続的にデータが入力されているのでしょう set tbl = activecell.currentregion アクティブセル領域tblの一番上の行を除外したものをtblに再定義して選択。多分、表題を除いている tbl.offset(1, 0).resize(tbl.rows.count - 1, tbl.columns.count).select 止めている? stop アクティブセル領域tblをコピー selection.copy ブックbbbをアクティブにする windows("bbb.xls").activate ブックbbbのシートcccを選択 sheets("ccc").select セルb2を選択 range("b2").select セルb2を左上にして、アクティブセル領域tblを値貼り付け selection.pastespecial paste:=xlvalues, operation:=xlnone, skipblanks:= _ false, transpose:=false application.cutcopymode = false セルa2を選択 range("a2").select application.cutcopymode = false セルa2に算式『=b2&c2&d2』をセット。b、c、d列を文字列結合しようとしている activecell.formula = "=b2&c2&d2" 算式を登録したセルa2を再度選択 range("a2").select セルa2をコピー selection.copy 下のdoloopで貼り付けた行数をカウントしようとしている。先判定にすべきか 行カウンタを初期化 gyo = 0 do 行カウンタを進める gyo = gyo + 1 行カウンタの行のb列のデータを取り出し『burank』に保存 burank = worksheets("ccc").cells(gyo, 2).text 取り出した『burank』が未登録(空白セル)になるまで続ける loop while burank <> "" 最終行が求まったので、a3から対応するa列の最終行まで選択する ここで最終行は1行余分に数えているので『-1』している range(cells(3, 1), cells(gyo - 1, 1)).select コピーしてあったセルa2を貼り付け。これでb列のデータ分、算式『=b2&c2&d2』がセットされる activesheet.paste application.cutcopymode = false セルa2を選択 range("a2").select 要は、ブックaaaのデータ部分をブックbbbに貼り付けて、a列にb、c、d列の文字列結合をさせているのでしょう。メモ帳の中だけで書いています。実際に動かしていませんのでご承知おきください。