【やりたい事】
標題の件、以下マクロをご覧ください
AブックのA6からA100までのセルを
BブックのA2からA100までコピーしています
しかし、Aブックには実際には、A5やA10まで
しかデータが入っていません
データの数は、その時々にて、変わります
そこで、Aブックのデータが入っている所までを
きれいにコピーして、Bブックへコピーするマクロを作りたいです
ご存じの方、ご指導お願いします
Sub コピー()
Workbooks(B.xlsm").Worksheets("リスト").Range("A2:A100").Value = Workbooks("A.xlsx").Worksheets("Sheet1").Range("A6:A100").Value
End Sub
No.5
- 回答日時:
以下のようにしてください。
Sub コピー()
Dim fr_ws As Worksheet
Dim to_ws As Worksheet
Set fr_ws = Workbooks("A.xlsx").Worksheets("Sheet1")
Set to_ws = Workbooks("B.xlsm").Worksheets("リスト")
Dim maxrow As Long
Dim fr_row As Long
Dim to_row As Long: to_row = 2
maxrow = fr_ws.Cells(Rows.Count, 1).End(xlUp).Row
If maxrow < 6 Then Exit Sub
to_ws.Rows("2:" & Rows.Count).ClearContents
For fr_row = 6 To maxrow
to_ws.Cells(to_row, 1).Value = fr_ws.Cells(fr_row, 1).Value
to_row = to_row + 1
Next
End Sub
No.4
- 回答日時:
>AブックのA6からA100までのセルを
>BブックのA2からA100までコピーしています
コピー先(Bブック)のデータの開始行は2行目からで間違いないでしょうか。
コピー元(Aブック)のデータの開始行は6行目からのように思われます。
>しかし、Aブックには実際には、A5やA10までしかデータが入っていません
もし、A5までしかデータがないときは、データの開始行は6行目なので、コピーしないということでしょうか。それとも、真のデータの開始行は6行目でなく、他の行(2行目とか3行目とか等)なのでしょうか。
すいません、一部まちがえました
データは、AブックのA6からA10まで
はいってます
開始ぎょうは
Aが6行目、Bが、2行目です
すいません、宜しくお願い致します!
No.3
- 回答日時:
ああ、失礼しました。
最後のデータがあるセルまでを選択したいという事でしたね。
面倒なんでA6セルからA1048576までをコピペすることを勧めます。
そののちに空白セルを削除で良いんじゃないかな。
ブックAからコピー の箇所
Range("A6:A100").Select
↓
Range("A6:A1048576").Select
ブックBにペースト の箇所
Range("A2:A100").Select
↓
Range("A2").Select
とするだけです。
No.2
- 回答日時:
質問者さんの意図とはちょっと違うと思いますが、
手順を一つずつ踏んで作業をするなら、
' ブックAからコピー
Windows("A.xlsx").Activate
Sheets("Sheet1").Select
Range("A6:A100").Select
Selection.Copy
' ブックBにペースト
Windows("B.xlsm").Activate
Sheets("リスト").Select
Range("A2:A100").Select
ActiveSheet.Paste
' 空白セルを選択
Selection.SpecialCells(xlCellTypeBlanks).Select
' 選択されたセルを削除し上に詰める
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
こんな感じかな。
たぶん「マクロの記録」でも同じように記録されると思います。
……やべえ、確認してみたらそのまんまだったわ。ということでマクロをそのまま公開。
(コピペするなら行頭の全角スペースの処理をしておきましょう)
・・・余談・・・
やらなくてもOKなんだけど、プログラミング経験者としては、
' (変数の定義)
' (ブックBのA2からA100の範囲をクリア)
' (ブックAが開かれていなければブックAを開く)
' ブックAからコピー
' ブックBにペースト
' 空白セルを選択
' 選択されたセルを削除し上に詰める
' (マクロからブックAが開いたならブックAを閉じる)
' (ブックBの "リスト" A1セルを選択)
のように行儀よく作るかな。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) クリップボードに貼付している文字列が、マクロで別ブックへ転記すると、消えてしまう 1 2023/10/15 13:36
- Excel(エクセル) 【マクロ】コピーでは、ブックまで指定するのとシートまで指定する違いは? 3 2023/09/08 12:08
- Excel(エクセル) 3つのマクロを連続実行の中で、1つ目のマクロ要件を満たさなかったら、マクロ2・3を実行しない為には 1 2023/10/15 13:42
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2023/03/12 12:16
- Excel(エクセル) 【マクロ】book1からbook2への適切な転記が出来ない件 2 2023/11/08 17:23
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Visual Basic(VBA) エクセルVBA 3 2022/06/23 20:00
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
Excelにてある膨大なデータを管理しています。 そこで、特定の市町村にのみ色を付けたいです。 Ex
Excel(エクセル)
-
Excel関数-文字列で自動作成された関数を実行する方法
Excel(エクセル)
-
エクセルで日付を数字+アルファベットと比較したい
Excel(エクセル)
-
-
4
エクセル共有したが、アクセスできなくかった
Excel(エクセル)
-
5
【マクロ】顧客番号にて一致させ、情報を表へ上書きする為には
Excel(エクセル)
-
6
在庫管理表に使うエクセルの関数が分かりません
Excel(エクセル)
-
7
エクセルで表
Excel(エクセル)
-
8
エクセルで年休を管理する方法について
Excel(エクセル)
-
9
エクセルの関数の勉強の仕方
Excel(エクセル)
-
10
エクセルで上位バイトのセルと下位バイトのセルを1つのセルにして16進数を作る方法
Excel(エクセル)
-
11
エクセル関数に詳しい方教えてください
Excel(エクセル)
-
12
[関数得意な方]教えて下さい・・[困ってます]
Excel(エクセル)
-
13
excel で二つのどちらかを選ぶ
Excel(エクセル)
-
14
Excelはなんで先頭の0を消すんですか?しかもCSVとかもなんでそもそも勝手に元のデータ変えるのに
Excel(エクセル)
-
15
【マクロ】必要な項目(列)の情報のみ別ブックより転記をする為には
Excel(エクセル)
-
16
一つのセルに(例えばA1)入力された3桁・4桁の数字を並べ替えて同一行のセルに表示させる。
Excel(エクセル)
-
17
Excelの関数について教えてください
Excel(エクセル)
-
18
特定の文字列を含む、住所を抽出する
Excel(エクセル)
-
19
エクセルの関数について教えてください
Excel(エクセル)
-
20
Excelに詳しい方! B列が「日」なら「休」と表示されるようにしたいのに何で全部の曜日に「休」と入
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAが途中で止まります
-
VBA シートをコピーする際に Co...
-
ワイルドカード「*」を使うとう...
-
別ブックをダイアログボックス...
-
ACCESSVBA からExcelの他ブック...
-
VBAで別ブックのシートを指定し...
-
VBA コードを実行すると画面が...
-
【ExcelVBA】インデックスが有...
-
エクセルマクロで任意のファイ...
-
EXCEL VBA で現在開いているブ...
-
別ブックの列同士の値が一致し...
-
エクセルVBAでテキストボックス...
-
Excel VBAでRangeの指定をA1書...
-
エクセル VBA 他シートの行を選...
-
Excel-VBAでのファイルの開き方
-
【ExcelVBA】zip圧縮されたCSV...
-
VBS Bookを閉じるコード
-
VBA 別ブックからコピペしたい...
-
複数ブックから一つのシートに...
-
エクセルのVBAコードについて教...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
ワイルドカード「*」を使うとう...
-
別ブックをダイアログボックス...
-
VBAで別ブックのシートを指定し...
-
Excelのマクロについて教えてく...
-
VBA 別ブックからコピペしたい...
-
Excelのマクロについて教えてく...
-
vbaでvbaProjectのパスワード解...
-
VBA コードを実行すると画面が...
-
【マクロ】アクティブセルにブ...
-
Excelのマクロについて教えてく...
-
VBAで別のブックにシートをコピ...
-
VBS Bookを閉じるコード
-
Excelのマクロについて教えてく...
-
【ExcelVBA】zip圧縮されたCSV...
-
【ExcelVBA】インデックスが有...
-
ACCESSVBA からExcelの他ブック...
-
vbaで他のブックに転記したい。...
-
【マクロ】違うフォルダにある...
おすすめ情報