以下のマクロのコードや内容・条件をご覧ください。動きます。
次に図をご覧ください
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
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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
【マクロ】転記ツール。転記先にデータがある場合、上書きするか消すか質問をして欲しい
Excel(エクセル)
-
エクセルのハイパーリンクで質問です。
Excel(エクセル)
-
マクロのコードについて解説をお願いします
Excel(エクセル)
-
-
4
エクセルの数式で教えてください。
Excel(エクセル)
-
5
ExcelのVBAコードを教えて頂けますでしょうか。 例シート2つがあります。 シート1は元データ
Excel(エクセル)
-
6
エクセルの行を巾を変えずに増やす方法
Excel(エクセル)
-
7
DBCS関数とは何ぞやッ!
Excel(エクセル)
-
8
Excel VBAについて【図形を組み合わせて作成した、料金別納表示の削除の仕方】
Excel(エクセル)
-
9
[大至急!]ExcelSheetFreeの使い方がわかりません
Excel(エクセル)
-
10
Excel 数行分セル結合したあと、結合した一番下の行を非表示にしたら、罫線が印刷されません。
Excel(エクセル)
-
11
Excel 書式のクリア・値貼付けをしても書式が変わらない
Excel(エクセル)
-
12
エクセルのcountifのワイルドカードについて
Excel(エクセル)
-
13
エクセルの関数でわからないことあるのでコード付きで教えてください
Excel(エクセル)
-
14
勤怠表エクセル関数について
Excel(エクセル)
-
15
こんにちは。Excelのデータ入力規則のことで教えてください。複数条件を指定したい場合の構文ですが、
Excel(エクセル)
-
16
データから単位文字を除去して計算する方法は?
Excel(エクセル)
-
17
エクセルで条件書式と数式の組み合わせはできる?
Excel(エクセル)
-
18
エクセルで有効桁数を確認する方法
Excel(エクセル)
-
19
Excel、Wordで入力をしていたら このように[漢数字]と出てきて入力中の文字が見えず、入力しに
Excel(エクセル)
-
20
excl2013 縦の表を横にVBAでする方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定の文字がある行以外を削除...
-
excelのデータで色つき行の抽出...
-
直近の5個の平均を求めたい
-
[EXCEL]ボタン押す→時刻が表に...
-
【Excel関数】UNIQUE関数で"0"...
-
アクティブになっている行をマ...
-
エクセル マクロで数値が変っ...
-
Excel グラフのプロットからデ...
-
【EXCEL】連続データの個数を抽...
-
エクセルで特定の文字列が入っ...
-
Excel 時刻の並び替え
-
エクセルのセルに指定画像(.jpg...
-
チェックボックスをクリックし...
-
セルの色によって条件文をつけ...
-
エクセル マクロ オートフィ...
-
エクセル2016で時間を入力して...
-
電話番号の入力方式が違うデー...
-
このような複雑な表をワードで...
-
エクセルで、ポインタのある行...
-
Excel マクロで特定のセルに入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
エクセル マクロ オートフィ...
-
【Excel関数】UNIQUE関数で"0"...
-
[EXCEL]ボタン押す→時刻が表に...
-
結合されたセルをプルダウンの...
-
エクセル マクロで数値が変っ...
-
Excel グラフのプロットからデ...
-
AのセルとB行を比較して、一致...
-
エクセル 上下で列幅を変えるには
-
Excel ウインドウ枠の固定をす...
-
特定の文字がある行以外を削除...
-
excelのデータで色つき行の抽出...
-
エクセル2016で時間を入力して...
-
excel 小さすぎて見えないセル...
-
EXCELで最後の行を固定
-
エクセルVBA 最終行を選んで並...
-
VBAで色の付いているセルの行削除
-
エクセルマクロで偶数行(又は...
-
エクセルのセルに指定画像(.jpg...
-
罫線の斜線を自動で引くマクロ
おすすめ情報