早速ですが、データベースの中から別シートに抽出をしたいのですが、これは可能ですか?
できるならどうすればいいのか教えてください。
具体的に言うと、次のようなことがしたいんです。
[Sheet1]に以下のようなデータベースがあるとします。
A列:部署コード(4桁)
B列:部署名
C列:社員コード(6桁)
D列:社員名
この[Sheet1]のデータをもとに、[Sheet2]以下のシートには指定した部署のみの一覧を抽出したいんです。
例えば、A1セルにある部署コードを入力しておけば、指定したセルに該当する社員だけを表示したいということです。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
#2のものです。
部の数だけ実行しないといけませんが。
第2行目だけにフィールド見だしがあるとします。
A1セルに抜き出したい部のコードを入れます。
コマンドボタンを1つ貼りつけ
Private Sub CommandButton1_Click()
End Sub
の真中に、(Sub test02()とSub Endを除いて)下記を挟むのも良いと思います。
Worksheets("sheet2").Cells(j, "A") = _
Worksheets("sheet1").Cells(i, "A")
以下は列の数(=フィールド=項目の数)だけ増やしてください。Aのところを、E,F,G,・・・と変えたものを増やすと良い。
OKWEBの強制改行を避けるため、スペース+アンダーバーでわざと改行しています。=を挟んで左右にならべるのが普通です。
Sub test02()
d = Worksheets("sheet1").Range("a3"). _
CurrentRegion.Rows.Count
j = 2
For i = 2 To d
If i = 2 Or Cells(i, "A") = Cells(1, "A") Then
Worksheets("sheet2").Cells(j, "A") = _
Worksheets("sheet1").Cells(i, "A")
Worksheets("sheet2").Cells(j, "B") = _
Worksheets("sheet1").Cells(i, "B")
Worksheets("sheet2").Cells(j, "C") = _
Worksheets("sheet1").Cells(i, "C")
Worksheets("sheet2").Cells(j, "D") = _
Worksheets("sheet1").Cells(i, "D")
j = j + 1
End If
Next i
End Sub
詳しい説明をありがとうございます。
さっそくやってみました。
でも、実はまだ完成してないんです。(><)
ここで再度質問をしようとも考えたんですが、そもそもVBA自体を分かっていないので上手く説明できません。
なので説明書を買ってきました。
VBAを理解するいいチャンスだと思って・・・。
この機会に頑張って習得してみます。
本当にありがとうございました。
No.2
- 回答日時:
オートフィルタの後のコピーを嫌うとすると
VBAの問題でしょう。
(1)データの最下行を知る。
(2)最上行について
部署コード(A列)=A1セルの内容、ならば
Sheet2の対応フィールド<==Sheet1 のフィールド
(3)部署コード(A列)=A1セルの内容、でなければ 何もしない。
(4)次ぎの行について(2)(3)を繰り返す。
(5)最下行まで処理して終わり。
難しいロジックは使はなくてもできます。
興味があれば、VBAコードを載せますが。
ありがとうございます。
やはりVBAですか!
なんらかの関数でできないかなぁって思ってたんですが、無理そうですね。
挑戦してみようと思いますので、詳しく教えてください。
よろしくお願いします。
No.1
- 回答日時:
メニューから
[データ]-[フィルタ]-[オートフィルタ]
を使ってはどうでしょうか?
どうしてもSheet2上でということでしたら、
Sheet1をコピーして、それをSheet2とする
ということも考えられます。
上記がご要望に沿わない場合には
補足をお願い致します。
この回答への補足
さっそく回答ありがとうございます。
でも、オートフィルじゃダメなんですよ。
現在、約500行のデータを15のシートに分けてるんです。
[sheet1]でオートフィルした後、計15回のコピーをして・・・。
ですから、なんとか自動的に各シートに該当する部署のみのリストを表示させたいんですよね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Excel(エクセル) Excelの質問です。 重複なしの部署一覧の表を作り、各部署のセル横に各部署の社員番号をすべて抜き出 3 2023/04/26 18:14
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- Visual Basic(VBA) VBA Userform転記のみ編集可 1 2023/06/29 11:03
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- PHP PHPSpreadsheetによる書き出し時のページネーション方法について 1 2023/03/20 10:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの表示形式を保ったま...
-
【Excel関数】商品コードと商品...
-
excelのマクロでrangeの選択が...
-
Excel VBA For Each Next構文...
-
EXCELで2つの数値のうち大きい...
-
Excelで隣のセルと同じ内容に列...
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルでオートフィルタのボ...
-
エクセルのオートフィルタで最...
-
エクセルで、2種類のデータを...
-
エクセル 文字数 多い順 並...
-
2つのエクセルのデータを同じよ...
-
エクセルで文字が混じった数字...
-
エクセルで最初のスペースまで...
-
SUMIFとCOUNTIFを合わせたよう...
-
Excelで半角の文字を含むセルを...
-
エクセルの表から正の数、負の...
-
エクセルで時刻(8:00~20:00)...
-
Excelのオートフィルタで非表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの表示形式を保ったま...
-
excelのマクロでrangeの選択が...
-
エクセル 1つのセル毎に入力...
-
Excel VBA For Each Next構文...
-
Excel2000 VBA ダブルクリック...
-
Excel VBAのComboboxのRemoveItem
-
Gメールの内容をスプレッドシ...
-
エクセルのIF関数がうまくいき...
-
EXCEL(エクセル)で0.001以下...
-
エクセルで重複するセルを削除...
-
エクセルの関数を連続コピー
-
EXCELで2つの数値のうち大きい...
-
Excelで隣のセルと同じ内容に列...
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで、2種類のデータを...
-
エクセルで最初のスペースまで...
-
エクセルでオートフィルタのボ...
-
エクセルのオートフィルタで最...
-
エクセルで時刻(8:00~20:00)...
おすすめ情報