![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
以下のマクロのコードや内容・条件をご覧ください。動きます。
次に図をご覧ください
book1の【A1からI1】までを、book2の【B6からJ6】に転記をしたいです
しかし、book2の【B13からJ13】に転記されてしまいます
理由は、マクロが最終行をA列の13行目と判断している為です
番号のデータがある為です
これを、赤矢印の場所へ転記できるようにしたいです
ご存じの方、よろしくお願いします
【利用条件】
・転記先ファイルは共有
・複数人にて利用
【マクロ内容】
・データを転記する
・book1のA1からI1までを、book2の【最終行】に転記
・最終行は、データが歯抜けであっても、1番最後の行に
あるデータを最終行と判断する
【コード】
Sub 転記()
Dim ws1 As Worksheet
Dim wb2 As Workbook
Dim ws2 As Worksheet
Dim maxrow2 As Long
Dim row2 As Long
Dim i As Integer
Set ws1 = Worksheets("転記元")
For i = 1 To Workbooks.Count
If Workbooks(i).Name = "book2.xlsx" Then '転記先のブック。
Set wb2 = Workbooks(i)
End If
Next
Set ws2 = wb2.Worksheets("転記先") '転記先シート
maxrow2 = ws2.AutoFilter.Range(ws2.AutoFilter.Range.Count).Row '転記先のブックB列
row2 = maxrow2 + 1
ws2.Cells(row2, 2).Resize(1, 8).Value = ws1.Range("A1").Resize(1, 8).Value '転記元から転記先へ7セル分を転記.a1から7セル分。天気先。1列目から。
ws1.Range("I1").Copy ws2.Cells(row2, 10).Resize(1, 1)
wb2.Save '転記先のブックを上書き
End Sub
![「【マクロ】book1からbook2への適」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/b/165419_654b3e09285ee/M.gif)
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
No1です。
似た様な回答をした記憶があったので・・
これでしょうかね?
https://oshiete.goo.ne.jp/qa/13639237.html
もしそうなら、どうやら文章では意味が通じないようなので、以下にサンプルを。
※ 関数等で計算結果がブランクになっているセルは、空白セルとは見做しません。
(こちらも空白セルと見做したい場合は、チェック条件を変えれば良いです)
Sub Sample()
Dim rw As Long
Const col = "B" ' 最終行判定対象列
With Workbooks("book2.xlsx").Worksheets("転記先")
rw = .Cells(2, 1).CurrentRegion.Rows.Count + 1
While rw > 1 And IsEmpty(.Cells(rw, col))
rw = rw - 1
Wend
MsgBox col & "列の最終行は " & rw & "行です"
End With
End Sub
No.1
- 回答日時:
こんばんは
>理由は、マクロが最終行をA列の13行目と判断している為です
理由がわかっているのなら、そこを修正すれば良いです。
ご提示のコードでは「オートフィルタの範囲」の最終列を求めて、それを最終行と判断しています。
実行時の状況がわかりませんけれど、
1)必ず、オートフィルタが設定されている。(いない場合は無いのか?)
2)フィルターがかかっている状態(=非表示の行が存在する)である可能性がある。
などの状況によって変わってくるかもしれません。
・フィルタが設定されていても、非表示のセルがない状態であれば、通常のEnd(xlUp)で最終行を求める方法で、A列以外(=必ず値のある列)で参照することが可能でしょう。
・フィルタの状態を「全て表示」の状態にしてもかまわなければ、同様に上記の方法が使えます。
一旦、AutoFilter.ShowAllData を実行すれば全ての行が表示されますので・・
https://learn.microsoft.com/ja-jp/office/vba/api …
・フィルタが設定されているのか/いないのか不明で、かつ、非表示の行があるかもしれないというような場合は、下から順にセルの値を調べてゆけば良いでしょう。
(意味合いとしては、End(xlUp)と同様ですが、個々にセルを調べることで非表示のセルも対象にできます)
こちらの場合は、スタートをRow.Countにすると無駄が多いので、UsedRange+1 行目から上に調べてゆくのが効率的と思います。
(表の内容によっては、CurrentRegion の方がさらに有効かもしれません)
※ ちなみに、ご提示のコードの場合、シートにフィルタが設定されていないとエラーになると思われます。
いつもご返答ありがとうございます
フィルターは、しぼりが、入っている場合とない場合があります。非表示の行はないです、usedrange+1ですね
出きるか、わかりませんが、やってみます
アドバイスありがとうございます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】転記ツール。転記先にデータがある場合、上書きするか消すか質問をして欲しい 2 2023/10/29 22:52
- Excel(エクセル) 3つのマクロを連続実行の中で、1つ目のマクロ要件を満たさなかったら、マクロ2・3を実行しない為には 1 2023/10/15 13:42
- Visual Basic(VBA) クリップボードに貼付している文字列が、マクロで別ブックへ転記すると、消えてしまう 1 2023/10/15 13:36
- Excel(エクセル) 【マクロ】セルの塗りつぶし色をbook1からbook2へ転記したい 4 2023/09/27 10:50
- Excel(エクセル) 【マクロ】違うフォルダにあるファイルから、転記するには? 4 2023/09/26 19:49
- Excel(エクセル) マクロを修正できないものか、統合シートについて 3 2021/12/07 09:26
- Excel(エクセル) VBA Scripting.Dictionary 連想配列 複数参照する方法 2 2021/12/17 01:52
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) VBA シート間の転記で、条件の追加コードの書き方について教えて下さい。 13 2023/02/26 09:31
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
【マクロ】転記ツール。転記先にデータがある場合、上書きするか消すか質問をして欲しい
Excel(エクセル)
-
エクセルで別シートへの文字の転記ができない
Excel(エクセル)
-
EXCEL マクロ データが転記されない
Visual Basic(VBA)
-
-
4
エクセルの数式で教えてください。
Excel(エクセル)
-
5
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
6
excl2013 縦の表を横にVBAでする方法
Excel(エクセル)
-
7
DBCS関数とは何ぞやッ!
Excel(エクセル)
-
8
エクセル条件付き 色付け
Excel(エクセル)
-
9
(マクロ)データをAブックからBブックへコピー、データを入っているセルまでだけコピーする為には
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル マクロ オートフィ...
-
特定の文字がある行以外を削除...
-
VBAで色の付いているセルの行削除
-
【EXCEL】連続データの個数を抽...
-
AのセルとB行を比較して、一致...
-
エクセル(VBA) 検索条件に文...
-
Excel2003でカラオケ
-
excel 小さすぎて見えないセル...
-
[EXCEL]ボタン押す→時刻が表に...
-
VBA マクロ エラー1004 アプ...
-
エクセルで特定の文字列が入っ...
-
エクセル2016で時間を入力して...
-
EXCELマクロを使い、空白行では...
-
連続データが入った行の一番右...
-
Openoffice calc セルの結合に...
-
エクセル 数字のみ残したい
-
【マクロ】book1からbook2への...
-
Excel 時刻の並び替え
-
セルではなく行や列、シート全...
-
直近の5個の平均を求めたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル マクロ オートフィ...
-
エクセルで特定の文字列が入っ...
-
[EXCEL]ボタン押す→時刻が表に...
-
【Excel関数】UNIQUE関数で"0"...
-
特定の文字がある行以外を削除...
-
Excel グラフのプロットからデ...
-
excelのデータで色つき行の抽出...
-
AのセルとB行を比較して、一致...
-
結合されたセルをプルダウンの...
-
エクセル マクロで数値が変っ...
-
エクセル 上下で列幅を変えるには
-
VBAで色の付いているセルの行削除
-
excel 小さすぎて見えないセル...
-
A1に入力された文字列と同じ文...
-
罫線の斜線を自動で引くマクロ
-
アクティブになっている行をマ...
-
エクセル2016で時間を入力して...
-
EXCELマクロを使い、空白行では...
-
エクセルマクロで偶数行(又は...
-
セルの色によって条件文をつけ...
おすすめ情報