『下の行へ転記』(ハナ)
シート1 A B C D E F 4 1 リンゴ バナナ AA 5 2 バナナ ミカン AB 6 3 ミカン リンゴ AC 7 4 ミカン AD 8 5 バナナ リンゴ
シート3 B C D E F 5 1 リンゴ バナナ AA 6 4 ミカン AD 7 5 バナナ リンゴ 8 3 ミカン リンゴ AC
シート1のA列の数字選択でシート3のB列5行目から転記したいと思いす。 B.E列は空欄です。
ダミーで Sub データ転記() 'シート3へ Dim Sh1 As Worksheet Dim Sh3 As Worksheet
Set Sh1 = Worksheets("Sheet1") Set Sh3 = Worksheets("Sheet3") Sh3.Range("A5").Value = Sh1.Range("A4").Value Sh3.Range("C5").Value = Sh1.Range("D4").Value Sh3.Range("E5").Value = Sh1.Range("F4").Value
End Sub 行数が多い場合の方法などの教えてください、 はじめの一歩です、よろしくお願いいたします。
< 使用 Excel:Excel2021、使用 OS:Windows11 >
>シート1のA列の数字選択 数字選択とは、どういう事を言っているのですか?
>ダミーで ダミーでとは、どういう意味ですか? 数字選択には絡んでないような気がしているのですが。。
>行数が多い 具体的に何行くらいですか?
(半平太) 2024/04/27(土) 10:20:51
すみません セルA4の1,A7の4です。 シート1に50行位 ダミーは、覚えはじめなので転記されるか試しました。 分かる様になったら、絵などの横にマクロボタンを配置し転記したいと考えております、 まだまだ先ですが。 うまく説明出来ずすみません。 (ハナ) 2024/04/27(土) 11:34:09
>セルA4の1,A7の4です。 1とか4は、何処にあるんですか? Sheet3のB列にあらかじめ書かれている と言うことなんですか? そうだとすると、転記は3列分で 以下の対応関係で転記すると解釈していいですか? C列→D列 D列→E列 F列→G列
転記データは全て文字列ですか?
Sheet1のA列の番号は1からの連番ですか? 連番じゃないとしても、重複は無いですね? ※もし重複がある場合、どう転記するんですか?
(半平太) 2024/04/27(土) 12:17:06
1と4はシート1のA列の4行めから1から連番で重複は無いです。 シート3の5行目以降全て空欄。 文字と数字のみ。 説明不足大変申し訳ございません。 (ハナ) 2024/04/27(土) 22:08:32
横からですが、こういう事なんでしょうか。 >シート1のA列の数字選択でシート3のB列5行目から転記したいと思いす。 やりたい事は、 「A列の任意のセルを選択した状態でマクロを実行するとSheet3に転記する」
Sub test() Dim tmp As Range, n As Long For Each tmp In Selection With Worksheets("Sheet3") If tmp.Column = 1 Then n = WorksheetFunction.Max(5, .Cells(Rows.Count, "B").End(xlUp).Row + 1) .Cells(n, "B").Resize(, 6).Value = Cells(tmp.Row, "A").Resize(, 6).Value End If End With Next End Sub
※Sheet1がActiveSheetとします。
やりたいことを時系列で箇条書きすると、伝わりやすいかもしれませんよ。 説明を簡易にしようとして、情報が不足している気がします。 もっと別視点での適した回答がある可能性があります。 実務で使うコードじゃなくVBAの勉強です、ということかもしれませんが。 (羊カウント) 2024/04/27(土) 22:45:08
ご指摘ありがとうございます。 もう少し私自身理解した上で再度質問させて頂きます。 ありがとうございました。 (ハナ) 2024/04/28(日) 06:39:18
私も殆ど同種のコードを書いておりました。 重複を避けてコードは示しませんが、コメントの後半部分だけ追加しておきます。
【補足】 For Each r In Selection で列挙されるrの順番は、選択したセルの順序が保たれるようです。 つまり、 A4,A7,A6,A8の順序で選択したとすると、 A4,A7,A6,A8の順序で取り出される。 (A4,A6,A7,A8という上からの順序と思いがちだが、そうではないようです。 このことを私は今更ながら知ったので、コードを書いて見る気になりました)
ただし、 A4,A7,A6,A8,・・・を選択した状態で、というのは「行数が多くなると難しい」かもしれません。 一つでも間違うとやり直しになりますから。
作業列に1,2,3,4などと順序を書き入れておき、 ・フィルタでそれが記入されている行だけを抽出して転記し、 ・作業列の昇順で並び替える、 という方法が確実でしょう。 これなら、行ごとに転記する手間も不要です。 こちらを推奨します。コードは書きませんが。 研究してみて下さい。 (xyz) 2024/04/28(日) 06:45:11
なお、作業列に振る順番数値ですが、同一数値があっても問題ありません。 同一数値であれば、ソートをしたときに、その中で行の順序が逆転することはありません。今の順序が保たれます。 また、空き番があっても問題ありません。
(xyz) 2024/04/28(日) 06:54:57
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.