- ベストアンサー
Excelでマクロを使用して、列を表示させる質問です。
Excle2003での質問です。 C3セルからAE78セルまでにデータが入力されています。 C列には項目名・3行には氏名が並んでいます。 D4セルからAE78セルには、 各人に対応する項目に○や△等が記入されています。 (空白セルもあります) A1セルに氏名を記入して(3行目のリストから選択して)、 マクロを実行させると、 1.氏名を一致する氏名の列のみを表示して、 2.オートフィルタで空白以外の行を表示する。 (ただしC列の項目名は表示されたまま) このようなマクロを組みたいのですが、 初心者の私ではまったく分かりませんでした。 どなたかご教授いただけたらと思います。 よろしくお願いいたしますm(_ _)m
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
1.氏名を一致する氏名の列のみを表示して、 2.オートフィルタで空白以外の行を表示する。 この作業を手作業でやって、それを「マクロの記録」で記録してみましょう。 その上で、解らないところがあったら、改めて質問しましょう。
その他の回答 (2)
- xls88
- ベストアンサー率56% (669/1189)
>回答番号:No.2 この回答への補足 セルA1をコピーするのではありません。 A1のデータをコピーしてください。 列を選択するのではありません。 個人名は、各列の3行目のセルに入力されているのでは? 行ラベルの「3」をクリックして3行目を選択してください。 違っているなら、個人名の入力されているセル範囲を選択してください。 もう一度、回答番号:No.2で提案した「検索」の作業手順をよく見て、「マクロの記録」をやり直してください。 #独り言です。 まず、higekumanさんに返事を差し上げるべきではないでしょうか?
補足
xls88様 下でも記入しましたが、 私には難しかったらしく、時間切れで他の人の仕事になってしないました。。。 マクロって難しいんですね。。。 ありがとうございました!
- xls88
- ベストアンサー率56% (669/1189)
higekumanさんのご意見に賛成です。 氏名が一致する列を探すのは「検索」を使えばよいと思います。 以下のような手順で作業をして「マクロの記録」してください。 A1セルを選択 数式バーに表示された内容を選択し、Ctrl+C でコピーする 行3を選択 Ctrl+F で「検索」ダイアログボックスを表示する 「検索する文字列」のボックスに、Ctrl+V でコピーしたデータを貼り付ける EnterまたはAlt+F で「次を検索」する Alt+I で「すべて検索」する(検索されたT12セルが選択される)
補足
ご意見ありがとうございます。 xls88さまの手順でやってみましたが、 Range("A1").Select Selection.Copy Columns("D:H").Select Range("H1").Activate Selection.EntireColumn.Hidden = True Columns("J:AE").Select Selection.EntireColumn.Hidden = True Range("C25").Select Application.CutCopyMode = False Selection.AutoFilter Selection.AutoFilter Selection.AutoFilter Field:=7, Criteria1:="<>" Range("AG42").Select End Sub このようなマクロになってしまいました。 Columns("D:H").Select の前にCtrl+Fで検索を掛けていますが、マクロに反映されません。。。 1.検索用のセルを取得(A1) 1.3行目を指定し、検索で指定したセルを取得 2.そのセルの列を取得する 3.その列以外を隠す 4.オートフィルタを実行する この流れでマクロを組めると思ったのですが。。。 なにぶん初心者ですいません。 よろしくお願いいたします。
補足
higekuman様 せっかく回答を頂いたのに、気付かなくってすいません。。。 あれから色々試しましたが、やっぱりマクロはまだ自分には早かったようです。。。 質問も行と列も混乱しているような。。。 また機会を見つけてトライしてみます。 ありがとうございました!