[[20060420174015]] 『複数のシートの中からチェックボックスにチェック』(curl) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『複数のシートの中からチェックボックスにチェックを入れたものだけを別のシートに貼り付けたい』(curl)

教えて下さい。
複数のシートの中からチェックボックスにチェックを入れたものだけを別のシートに順次に自動で貼り付けをしたいのですが...
なにかいい手段があれば教えて下さい。


 もう少し具体的に説明されたほうが回答が得られやすいですよ。
 複数のシートとは、どのくらい?
 チェックボックスはどうやって付ける?
 別のシートに何を貼り付ける?
 などなど・・・。

 (川野鮎太郎)


すみません....初めて書き込みをしますので....
シートの数は10枚くらいです。
その10枚のシートにはそれぞれ「お客様名・商品名・金額・進捗状況」という項目があります。
その「進捗状況」に(例えば)今週変化のあったものだけにチェックボックスにチェックを入れ、
そのチェックが入ってる行だけを抽出し、別のシート(同じブック内)に移動させたいです。
その10枚のシートから、チェックしたものを移動させ、移動させたシートにはどんどん行が追加されていく...
という風にしたいのですが...
よろしくお願いします。


 チェックボックスはどうやってつけるのでしょうか。
 コントロールツールボックスのチェックボックス?
 フォームのチェックボックス?
 ユーザーフォームのチェックボックス?
 「お客様名・商品名・金額・進捗状況」はどこのセルに入っていますか?

 (川野鮎太郎)


フォームのチェックボックスを使いたいです。

(sheet2 野菜)

      A       B      C       D        E
1 お客様名 商品名 金額 進捗状況 チェックボックス
2 田中   大根   100   4/22購入    レ
3  山田                   なし
4 林    人参  120   4/20購入  レ
5 竹田          なし

(sheet3 果物)

      A       B      C       D        E
1 お客様名 商品名 金額 進捗状況 チェックボックス
2 森                  なし
3  吉田                   なし
4 西    りんご 200   4/21購入  レ
5 山崎   みかん 100  4/19購入   レ

という表に購入した人の所にチェックを入れて、そのチェックが入った行を
(sheet1集計用)に自動で貼り付けたいです。
       ↓  ↓

(sheet1 集計)

      A       B      C       D        E
1 お客様名 商品名 金額 進捗状況 チェックボックス
2 田中   大根   100   4/22購入    レ
3  林    人参  120   4/20購入  レ
4 西    りんご 200   4/21購入  レ
5 山崎   みかん 100  4/19購入   レ

また(sheet2 野菜)のようなデータベースのsheetが10枚くらいあり、
同じようにチェックボックスでのチェックを入れて(sheet1 集計)に
貼り付けたいです。

よろしくお願いします。


 ご希望のようなことをしようとすると、チェックボックスオブジェクトが限りなく増えてきて
 仕舞いには不具合が出てくる可能性があります。
 なので、□を■にすることを右クリックでやってみました。
 サンプルを載せておきます。
http://skyblue123.hp.infoseek.co.jp/Excel/Check_Paste.xls

 コードは、ThisWorkbookモジュールに以下のコードを入れてます。
なお、集計シート以外にも、チェックで転記しないシートがある場合は、以下の※※の行に追加してください。
 
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
If Sh.Name = "集計" Then Exit Sub
'※※ If Sh.Name = "別シートなど" Then Exit Sub
With Target
    If .Count > 1 Then Exit Sub
    If .Column <> 5 Then Exit Sub
    If .Value <> "□" Then Exit Sub
    If vbNo = MsgBox("チェックした行を転記しますか?" & vbCrLf & _
                "いいえで中止します。", vbYesNo + vbQuestion, "転記の確認") Then Exit Sub
    Cancel = True
    .Value = "■"
    PasteRow = Worksheets("集計").Range("A65536").End(xlUp).Offset(1, 0).Row
    .EntireRow.Copy Destination:=Worksheets("集計").Cells(PasteRow, 1)
End With
End Sub

 (川野鮎太郎)


ありがとうございます!
理想どおりの形です。

これから、本当の表で作ってみますが、
また分からない時は教えて下さい。


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.