[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『チェックした行のデーターを別シートに表示したい。』(いつき)
管理表を作りたいと思いますが、マクロがわかりません。
シートAA
A B C D E F
1 ☑ 3/1 ○ △
2 □ 3/4 ○ △
3 ☑ 3/10 × △
4 ☑ 3/12 ○ △
5 □ 3/15 × △
6
7
シートBB
A B C D E F
1 3/1 ○ △
2 3/10 × △
3 3/12 ○ △
4
こんな感じで表示したいです。
どのようにすればいいのでしょうか?
< 使用 Excel:Excel2007、使用 OS:Windows7 >
普通は、A列は1,0とか入力しやすいものにして、オートフィルタで絞ってからコピペするだけです。
D列は要らないというなら、BBシートで非表示にするだけでも十分だろうし。
(???) 2015/03/23(月) 10:04
チェックマークはフォームのチェックボックスで作成しようと思います。
あと、シートで列が違うのは必要とする列だけ表示し表を作成したいと考えています。
(D列以降は無しの予定です。)
(いつき) 2015/03/23(月) 11:49
何故かというと、コントロールを置く順番は決まっていないので、途中に挿入できたりします。
また、コピー作成した順番で、コントロール名が自動的に通番になりますが、行とコントロールの番号に何の関連も無いのですよ。(好きな座標に置けてしまう)
全てのコントロールの座標を調べて、それをセルの座標と比べていけば、何行目のコントロールか判断できますが、結構面倒。
チェックを付けるルール自体を変更できませんか? セルに印があるなら、オートフィルタを使うだけなのですよ。
(???) 2015/03/23(月) 14:37
ichinoseさんがApplication.Callerでうまいことやってたの思い出したので、紹介だけ・・・ (稲葉) 2015/03/23(月) 14:52
選択する行は最大4行までと考えています。
他に良い方法は無いですか?
(いつき) 2015/03/23(月) 14:58
Sub test() Dim ws As Worksheet Dim i As Long Dim iR As Long
Set ws = Sheets("BB")
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row If Cells(i, "A").Value = 1 Then iR = iR + 1 ws.Cells(iR, "A").Value = Cells(i, "B").Value ws.Cells(iR, "B").Value = Cells(i, "C").Value ws.Cells(iR, "C").Value = Cells(i, "E").Value End If Next i End Sub (???) 2015/03/23(月) 16:01
つまり、C列またはD列どちらかに文字列が入力されている、ということで良いですか?
両方に入力されているなら、また違ったコードになるのですが。
ws.Cells(iR, "B").Value = Cells(i, "C").Value & Cells(i, "D").Value (???) 2015/03/23(月) 17:02
自分なりにもっと勉強していきます。
(いつき) 2015/03/23(月) 17:11
例えば3/Cから始めようとするとどうすればいいですか?
(いつき) 2015/04/13(月) 19:51
列はコードにあからさまに書かれているのでわかると思いますが、 書き込み先の行(iR) は >なので、最初(Forループより前)に、iRの値を幾つか代入しておけばずらせますね。 とコメントされている通り、3行からにしたかったら、現在1行なのですから、 For の前で iR = 2 としたらできないでしょうか。
(Mook) 2015/04/13(月) 20:08
Sub test() Dim ws As Worksheet Dim i As Long Dim iR As Long
Set ws = Sheets("BB") iR = 2
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row If Cells(i, "A").Value = 1 Then iR = iR + 1 ws.Cells(iR, "C").Value = Cells(i, "B").Value ws.Cells(iR, "D").Value = Cells(i, "C").Value & Cells(i, "D").Value ws.Cells(iR, "E").Value = Cells(i, "E").Value End If Next i End Sub (???) 2015/04/14(火) 08:48
昨日のMookさんのコメントと後出来ました。ありがとうございます。
(いつき) 2015/04/14(火) 17:46
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.