こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルで、チェックボックスがオンになっているもののみ抽出したい

こんにちは、とても困っているのでわかる方がいらっしゃいましたら教えてください><

A列にはチェックボックスが入っていて、
B列にリストがあるという形になっています。

A列のチェックボックスにチェックが入っているものだけを抽出する事は
出来ないでしょうか。

ネットで調べてみたら、同じような質問があったのですが、
どれもマクロを使えば出来るのでは?という回答だけで、
実際の方法が書かれていませんでした。

因みに、チェックボックスはセルにリンクさせていない状態です。

よろしくおねがいします!!!

投稿日時 - 2009-06-22 15:21:51

QNo.5065347

すぐに回答ほしいです

質問者が選んだベストアンサー

merlionXXです。
失礼しました。マクロはある程度おわかりなのですね。
では、以下の条件に合致するなら以下のマクロで抽出できます。

1.「フォーム」のチェックボックスである。
2.チェックボックスをクリックしたときに輪郭が表示されますが、その左上がちゃんとA列の該当行のセル内に収まっている。
3.抽出したいデータは該当行のB列にある。
4.抽出先⇒G列(それ以外にするなら、.Cells(i, "G").Value のGを直してください。)

Sub test01()
With ActiveSheet
For Each cb In .CheckBoxes
If cb.Value = xlOn Then
i = i + 1
.Cells(i, "G").Value = cb.TopLeftCell.Offset(, 1).Value
End If
Next
End With
End Sub

投稿日時 - 2009-06-22 16:20:38

お礼

!!!

出来ました!
完璧に私がやりたかったことが出来ました!

merlionXXさん
本当にご丁寧にありがとうございました!

ありがとうございました!

投稿日時 - 2009-06-22 16:40:09

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

マクロのことは一切解らない状態なんですよね?

であれば、マクロを教えてもらったとしても、何か変更になったときにメンテも出来ないでしょう。

チェックボックスをセルにリンクさせれば良いだけです。
そっちのほうが、一時の手間はかかっても、自分で理解できるので、そっちのほうが良いです。

投稿日時 - 2009-06-22 15:43:59

補足

nattocurryさんありがとうございます。

マクロはある程度なら理解していますが、人が作ったものや、
自動記録したものを多少加工する程度で、マクロを使ってといわれても
なかなかイメージがわきませんでした。

>チェックボックスをセルにリンクさせれば良いだけです。
>そっちのほうが、一時の手間はかかっても、自分で理解できるので、
>そっちのほうが良いです

確かに一個一個出来ればいいのですが、何しろ何千個もデータがあるので。。

しかも、一時的な作業の為、出来れば短時間で抽出できれば良いと思っているのですが。

マクロを組むのはかなり大変な作業になりますでしょうか。

投稿日時 - 2009-06-22 15:49:46

ANo.1

> 因みに、チェックボックスはセルにリンクさせていない状態です。

リンクさせてないならマクロで調べるしか方法がないです。
そのマクロを知らない人に簡単に教えるのは難しいです。

もし、チェックボックスが、「コントロールツールボックス」のではなく「フォーム」のものでしたら、チェックボックスを右クリックして簡単にセルにリンクさせられますよね?
そうすればチェックを入れればTRUEが表示されるのですから、マクロを知らなくとも抽出できるのでは?

投稿日時 - 2009-06-22 15:29:14

補足

merlionXXさんありがとうございます。

マクロは多少は理解していますが、人が作ったものの加工や、自動記録したものの加工をしたり程度なので、なかなかイメージがわきませんでした。

データが何千個もあり、1個1個リンクさせていくのは出来れば避けたいです。単発の作業ですので。

なにか良い方法があれば、マクロの考え方的なところだけでも教えてください。

よろしくお願いします。

投稿日時 - 2009-06-22 15:54:26

あなたにオススメの質問