Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


52532 / 76732 ←次へ | 前へ→

【29038】Re:データの埋め込み
発言  ichinose  - 05/9/22(木) 8:29 -

引用なし
パスワード
   ▼M さん:
おはようございます。
まず、新規ブックにSheet1とSheet2というシート名持つシートを作成してください。


>元の表があります。これを仕上げの表のようにしたいのです。
>
>元の表  項目1   項目2  項目3  項目4   項目5
>101    AAA    500    300    200    500
>102    BBB    400    100     50    400
>104    DDD    600     0    250    600
>105    EEE    150     50     0    150
>107    FFF    600     0     0    600
>109    HHH    180     80     50    180

Sheet1のセルA1から、↑のデータが入力されているとします。

Sheet2のセルA1から、

    A      B
1  挿入項目   項目1
2   103    PPP
3   108    GGG


というように挿入するデータを入力します。
このように挿入するデータのありかを決めないと
繰り返し処理ができませんよね!!


標準モジュールに

'=============================================================
Sub test()
  Dim strow As Long
  Dim addrng As Range
  With Worksheets("sheet2")
   Set addrng = .Range("a2", .Cells(.Rows.Count, 1).End(xlUp)).Resize(, 2)
   End With
  If addrng.Row > 1 Then
    With Worksheets("sheet1")
     strow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
     .Range(.Cells(strow, 1), .Cells(strow + addrng.Rows.Count - 1, 2)).Value = addrng.Value
     .Range(.Cells(strow, 3), .Cells(strow + addrng.Rows.Count - 1, 6)).Value = 0
     .Range("a1", .Cells(.Rows.Count, 1).End(xlUp).Offset(0, 5)).Sort key1:=.Range("a1"), header:=xlYes
     End With
    End If
End Sub

testを実行してみてください。

行を逐次挿入するのではなく、追加して並べ替えました。

0 hits

【29022】データの埋め込み M 05/9/21(水) 20:57 質問
【29036】Re:データの埋め込み M 05/9/22(木) 7:11 質問
【29038】Re:データの埋め込み ichinose 05/9/22(木) 8:29 発言
【29063】Re:データの埋め込み M 05/9/22(木) 21:25 質問
【29064】Re:データの埋め込み ichinose 05/9/22(木) 22:39 発言
【29083】Re:データの埋め込み M 05/9/23(金) 16:31 お礼
【29087】Re:データの埋め込み ichinose 05/9/23(金) 18:40 発言
【29095】Re:データの埋め込み M 05/9/23(金) 21:59 お礼

52532 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free