No.、氏名は一行ずつ、持ち物は1名に対して0~10程度の一覧があります。
1人1人は1行ずつあいております。
個人別の持ち物リストを作成したいのですが(日々50人程度)、フィルタだと個人の1行目の
持ち物しか抽出されません。
画像右側のようなリストには、VBAで番号から氏名持ち物を抽出させると
いいのでしょうか??(No.を入力すると、氏名・持ち物の最後の行まで代入とか)
マクロでもできませんでした。。
No.と氏名をそれぞれの行に記入するのは運営上(複数人が入力)難しいです。
とても困っております。。
よろしくお願いいたします。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
回答No4です。
大変失礼をいたしました。D2セルには次の式を入力して下方にオートフィルドラッグしてください。=IF(AND(A2<>"",COUNTIF(E:E,A2)>0),MAX(D$1:D1)+1,IF(AND(C1<>"",C2<>"",D1<>""),MAX(D$1:D1)+1,""))
他の操作法はNo4のとおりです。
No.4
- 回答日時:
D列に作業列を作って対応するのがよいでしょう。
D2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(AND(A2<>"",COUNTIF(E:E,A2)>0),MAX(D$1:D1)+1,IF(C2="","",MAX(D$1:D1)+1))
E2セルから下の行には抽出して表示させたいNoを例えば、E2セルに1、E3セルに3のように入力します。
F列からH列に抽出した表を表示させるとしてF2セルには次の式を入力してH2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。
=IF(ROW(A1)>MAX($D:$D),"",IF(INDEX($A:$C,MATCH(ROW(A1),$D:$D,0),COLUMN(A1))=0,"",INDEX($A:$C,MATCH(ROW(A1),$D:$D,0),COLUMN(A1))))
これでE列に番号を入力すれば関連する表だけがFからH列に表示されることになります。
No.3
- 回答日時:
EXCELの表としての使い方に、反している。
あえて言えば、ワード的なやり方になっている。人間は質問のようなのが理解しやすいが、エクセルは
・行単位で(完結する)、
・その行にキーになる情報がある
・中間に空白行を置かない
「リスト」とか「テーブル」(それぞれEXCELの熟語で、一般的使用法に非ず)と言うのがそういうもので
そのようなデータの整理の仕方がEXCELに適している。
ーー
本件のシートを別シートコピーし
空白行を省き、氏名の下には氏名を入れて、フォントを白色にするVBAを書いておくから、そちらのほうで以後の応用を考えては。
例データ(--は空白セル。左詰め表示されるのを防止の対策)
氏名持ち物
山本靴
ーーかばん
藤田鉛筆
木村消しゴム
ーー筆
大野ノート
ーー帽子
ーーーー
標準モジュールに
Sub test01()
'---空白行削除
d = Range("B65536").End(xlUp).Row
For i = d To 2 Step -1
If Cells(i, "B") = "" Then Rows(i).Delete
Next i
'----氏名空白セルを補充
d = Range("B65536").End(xlUp).Row
m = Cells(2, "A")
For i = 3 To d
If Cells(i, "A") = "" Then '空白であれば
Cells(i, "A") = m '上と同じ氏名セット
Cells(i, "A").Font.Color = vbWhite '文字色白色
Else
m = Cells(i, "A") '氏名を覚えておく
End If
Next i
End Sub
実行結果 見かけ
氏名持ち物
山本靴
かばん
藤田鉛筆
木村消しゴム
筆
大野ノート
帽子
ーーーーー
これでフィルタなど出来る。大野でフィルタすると
ノートと帽子の行がでる。
No.2
- 回答日時:
Sub Macro1()
KENSAKU = Application.InputBox("No.または氏名を入力して下さい。")
On Error GoTo LINE:
Columns("A:B").Find(What:=KENSAKU).Activate
For i = ActiveCell.Row To ActiveCell.Row + 99
If IsEmpty(Cells(i, 3)) Then
Exit For
Else
Range(Cells(i, 1), Cells(i, 3)).Copy
GYOU = Cells(Rows.Count, 8).End(xlUp).Row + 1
Range("F" & GYOU).PasteSpecial
End If
Next i
Application.CutCopyMode = False
Range("A1").Select
Exit Sub
LINE:
MsgBox (" 該当者なし。")
End Sub
No.または氏名で検索してコピーするようになっています。
ボタンを作って、マクロを登録すればよいのではないかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- Excel(エクセル) エクセルでキーリストからデータを取り出して1枚1枚印刷するには? 11 2022/06/27 09:52
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) 請求書と領収書の作成 4 2022/11/10 16:13
- 確定申告 準確定申告における相続人の除外について 1 2022/12/25 22:49
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- その他(ビジネススキル・経営ノウハウ) エクセルで参加者一覧表から参加者リストを作りたいのですが・・・ 1 2023/06/08 17:29
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- Excel(エクセル) Excelで質問です! 現在マクロを勉強中の初心者です。 以下のような表から、会社名が空白のもの以外 2 2022/06/14 12:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数学 Tan(θ)-1/Cos(θ)について...
-
スマートな関数を教えて下さい。
-
Excel ウインドウ枠の固定をす...
-
EXACT関数とIF関数の組み合わせ...
-
4つのパターンを表示するEXACT...
-
関数を教えて下さい。
-
Excel:一部のフォントでセルの...
-
エクセルで指定した日付、店舗...
-
エクセルでセルに「氏名を入力...
-
Excel 2019 のピボットテーブル...
-
スプレッドシートの関数VLOOKUP...
-
エクセルで日付の入ったセルの...
-
Excelファイルの「数式」タブ→...
-
excelの不要な行の削除ができな...
-
Excelのif関数で文字が見えなく...
-
各ページの1番上の表示について
-
エクセル関数に詳しい方、教え...
-
INDIRECTを使わず excelで複数...
-
Excel 2019 は、SPILL機能があ...
-
UNIQUE関数が使えないバージョ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報