[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『貼りつけ』(たら)
教えてください。
宜しくお願いします。
シート1はデータです。
シート2セルB10〜Y21に値貼り付けしたいです。
1.シート2のセルX30がシート1のX列の値と同じなら シート1のY列に「1」がある行のB列からY列までを シート2の範囲X列の10〜21行目までの該当の行に貼りたい
2.シート2セルX30の番号がそれ以降のデータは表示させたくない
下記のようにしたいです。
【シート1(データ)】
A B ・・・ W Y X
1 項目名・・・・・・・・
・ あ い 1 2 ・・・ 1 0201
・ ウ い 4 2 ・・・ 1 0202
・ え お 1 2 ・・・ 3 0202
・ ウ お 3 2 ・・・ 1 0203
・ ・・・・・・・・ 1 0204
・
・ あ い 1 2 ・・・ 1 0210
・ あ え 2 2 ・・・ 1 0211
・ い い 1 2 ・・・ 3 0211
・ あ う 3 2 ・・・ 1 0212
【シート2(貼付け先)】
A B ・・・ W Y X
1 項目名・・・・・・・・
・
10 あ い 1 2 ・・・ 1 0201←X列にはあらかじめ番号が入っている
11 ウ い 4 2 ・・・ 1 0202
12 ウ お 3 2 ・・・ 1 0203
13 ・・・・・・・・ 1 0204
・ ・・・・・・・・ ・ ・
19 あ い 1 2 ・・・ 1 0210
20 0211←(セルX30以降のデータは表示しない)
21 0212←(セルX30以降のデータは表示しない)
30 0210←ここは可変する
(セルX30以降のデータは表示しない)
初心者です。コードの書き方がむつかしすぎて
宜しくお願いします。
Public Sub test()
Dim strSerch1 As String
Dim strSerch2 As String
Dim lngLastRow As Long
Dim i As Long, j As Long
'検索
strSerch1 =
strSerch2 =
'Sheet2の10行目に
j = 10
With Worksheets("Sheet1")
lngLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row '最後行
For i = lngLastRow To 2 Step -1
'同じならSheet2に
If .Cells(i, ).Value = strSerch1 And .Cells(i, ).Value = strSerch2 Then
Worksheets("Sheet2").Cells(j, 2).Value = .Cells(i, 1).Value
j = j + 1
End If
Next i
End Wit
End Sub
< 使用 Excel:Excel2016、使用 OS:unknown >
シート1のY列が1をオートフィルタで抽出して、
シート2にコピー値貼り付けではだめなのでしょうか。
(マナ) 2020/05/03(日) 17:50
オートフィルターでもいいのですが
シート2のセルY30がシート1のY列の値と同じなら シート1のX列に「1」がある行のB列からX列までを シート2のY10〜Y21までの間にある該当する行に貼りたい その時、シート2セルY30の番号がシート2の範囲Y10〜Y21行目までのうち 該当の行のそれ以前は表示して、それ以降のデータは表示させたくないのです。
【シート2(貼付け先)】
A B ・・・ W X Y 1 項目名・・・・・・・・ ・ 10 あ い 1 2 ・・・ 1 0201←(セルX30以前のデータは表示する) 11 ウ い 4 2 ・・・ 1 0202←(セルX30以前のデータは表示する) 12 ウ お 3 2 ・・・ 1 0203←(セルX30以前のデータは表示する) 13 ・・・・・・・・ 1 0204←(セルX30以前のデータは表示する) ・ ・・・・・・・・ ・ ・ ←(セルX30以前のデータは表示する) 19 あ い 1 2 ・・・ 1 0210 20 0211←(セルX30以降のデータは表示しない) 21 0212←(セルX30以降のデータは表示しない)
30 0210←ここは可変すると上記のように表示が変わる
(たら) 2020/05/03(日) 19:49
なら、その手順をマクロにすればよいのですが
実際のデータで問題ないか、まずは手作業で確認してみてください。
(マナ) 2020/05/03(日) 20:58
シート2Y30の値 シート1 シート2
2001→ Y列に2001があるB〜Xまでの行の値(2001から見て1行目)→ B10〜X10に貼付
2002→ Y列に2001があるB〜Xまでの行の値(2002から見て上18行目)→ B10〜X10に貼付 Y列に2002があるB〜Xまでの行の値(2002から見て1行目)→ B11〜X11に貼付 2003〜も同様
2012→ Y列に2001があるB〜Xまでの行の値(2012から見て上188行目)→ B10〜X10に貼付 Y列に2002があるB〜Xまでの行の値(″171行目)→ B11〜X11に貼付 Y列に2003があるB〜Xまでの行の値(″154行目)→ B12〜X12に貼付 Y列に2004があるB〜Xまでの行の値(″137行目)→ B13〜X13に貼付 Y列に2005があるB〜Xまでの行の値(″120行目)→ B14〜X14に貼付 Y列に2006があるB〜Xまでの行の値(″103行目)→ B15〜X15に貼付 Y列に2007があるB〜Xまでの行の値(″86行目)→ B16〜X16に貼付 Y列に2008があるB〜Xまでの行の値(″69行目)→ B17〜X17に貼付 Y列に2009があるB〜Xまでの行の値(″52行目)→ B18〜X18に貼付 Y列に2010があるB〜Xまでの行の値(″35行目)→ B19〜X19に貼付 Y列に2011があるB〜Xまでの行の値(″18行目)→ B20〜X20に貼付 Y列に2012があるB〜Xまでの行の値(2012から見て1行目)→ B21〜X21に貼付
(たら) 2020/05/06(水) 23:53
1)シート2のY10の値を、シート1のY列から検索
2)見つかったセルと同じ行のB〜X列をコピー
3)シート2のY10と同じ行のB〜X列に貼り付け
4)シート2のY11の値を、シート1のY列から検索
5)見つかったセルと同じ行のB〜X列をコピー
6)シート2のY11と同じ行のB〜X列に貼り付け
以下、シート2のY21まで繰り返し
(マナ) 2020/05/07(木) 12:41
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.