| 同じ値を5行に貼り付けるには | |
|---|---|
[195723] 同じ値を5行に貼り付けるには- ■親トピック/記事引用/メール受信=OFF■ □投稿者/ チューリップ -(2023/05/13(06:16)) □U R L/ 下記のようにVBで日付の部分を連続して貼り付ける事はできるのでしょうか。 <Sheet1> A B C D 日付 リンゴ みかん ばなな 2023/01/01 10 20 30 <Sheet2> A B C 日付 カテゴリー 数量 2023/01/01 リンゴ 10 2023/01/01 みかん 20 2023/01/01 ばなな 30 | |
[195724] Re[1]: 同じ値を5行に貼り付けるには- ■記事引用/メール受信=OFF■ □投稿者/ MK -(2023/05/13(12:39)) □U R L/ 事例を見ると、行列を入れ替えて転記、でいかも、 3行だと思うのですが。 やりたいことが見えません。 | |
[195725] Re[2]: 同じ値を5行に貼り付けるには- ■記事引用/メール受信=OFF■ □投稿者/ 半平太 -(2023/05/13(13:11)) □U R L/
| |
[195726] Re[3]: 同じ値を5行に貼り付けるには- ■記事引用/メール受信=OFF■ □投稿者/ チューリップ -(2023/05/13(13:31)) □U R L/ MKさん、アドバイスありがとうございます。 例として、3種類のみ表示しました。 半平太さん、ありがとうございます。 すごいです!\(^o^)/ CODEの内容で教えてください。 @変数の「Pos」は どういう意味でしょうか。 A日付がカテゴリー分 貼付けされるのはどの部分でしょうか。 よろしくお願いいたします。 | |
[195727] Re[4]: 同じ値を5行に貼り付けるには- ■記事引用/メール受信=OFF■ □投稿者/ 半平太 -(2023/05/13(13:42)) □U R L/ >@変数の「Pos」は どういう意味でしょうか。
書き込みすべき行番号(行位置。行ポジション)です。
変数を RowToWrite としたら分かり易いですか。
>A日付がカテゴリー分 貼付けされるのはどの部分でしょうか。
WsOut.Cells(Pos, "A").Resize(1, 3) = OUT
1行ずつ書き出しています。
OUTは書き出すべきデータの配列です。(1行分だけ)
例: {2023/1/1,リンゴ,10} | |
[195728] Re[5]: 同じ値を5行に貼り付けるには- ■記事引用/メール受信=OFF■ □投稿者/ チューリップ -(2023/05/13(14:21)) □U R L/ 半平太さん 早々の回答ありがとうございます。
@は、理解できたのですが、
Aは、わかりにくいです。
以下、下記の部分のコードを読み解いたのですが…。
For i = 2 To r.Rows.Count
DT = .Cells(i, "A").Value
For CL = 2 To r.Columns.Count
If .Cells(i, CL) <> "" Then
Pos = Pos + 1
OUT(1) = DT
OUT(2) = Title(1, CL)
OUT(3) = .Cells(i, CL)
WsOut.Cells(Pos, "A").Resize(1, 3) = OUT
End If
Next CL
Next i
Sheet1の2行目から行数分だけ繰り返す。
DTはA1
2列目から列数ぶんだけ繰り返す
空白の列がある場合は抜ける
書き込む行は1行ずつ増加
Sheet2の1列2行目以降には 日付
Sheet2の2列2行目以降には カテゴリの品名
Sheet2の3列2行目以降には 数量
A列の書き出す行番号の位置に1行3列でデータを貼付けていく…。
どうでしょうか。
この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 | |
[195729] Re[6]: 同じ値を5行に貼り付けるには- ■記事引用/メール受信=OFF■ □投稿者/ 半平太 -(2023/05/13(15:04)) □U R L/ >どうでしょうか 良いと思います。 | |
[195730] Re[7]: 同じ値を5行に貼り付けるには- ■ □投稿者/ チューリップ -(2023/05/13(16:31)) □U R L/ ありがとうございます。 これを参考にして他の資料にも応用していきたいと思います。 | |
| このトピックに書きこむ |
|---|