早速ですが、データベースの中から別シートに抽出をしたいのですが、これは可能ですか?
できるならどうすればいいのか教えてください。
具体的に言うと、次のようなことがしたいんです。
[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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excelのマクロでrangeの選択が...
-
エクセルの表示形式を保ったま...
-
Excel VBA For Each Next構文...
-
エクセル 1つのセル毎に入力...
-
EXCELで2つの数値のうち大きい...
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
Excelで隣のセルと同じ内容に列...
-
エクセルで最初のスペースまで...
-
エクセルでオートフィルタのボ...
-
エクセル(勝手に太字になる)
-
エクセルで、2種類のデータを...
-
エクセルで時刻(8:00~20:00)...
-
2つのエクセルのデータを同じよ...
-
エクセルで特定の文字が入って...
-
エクセル 文字数 多い順 並...
-
えエクセルで○は1とし△は0.5で...
-
SUMIFとCOUNTIFを合わせたよう...
-
エクセルで文字が混じった数字...
-
Excel関数:「0」を除いた標準...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの表示形式を保ったま...
-
excelのマクロでrangeの選択が...
-
Excel VBA For Each Next構文...
-
種類ごとに横に並んだ数字を別...
-
エクセル 1つのセル毎に入力...
-
エクセルのIF関数がうまくいき...
-
Excel2000 VBA ダブルクリック...
-
EXCELのマクロで一覧表に...
-
VLOOKUPのような操作ができるマ...
-
初心者です。お願いします!!
-
エクセルで項目抽出
-
他のブックでマクロを実行する...
-
エクセルの関数(IF関数?)に...
-
vbaにて並べ替えしたい。
-
VBA重複チェック
-
エクセルでスケジュール管理
-
エクセルのセル内にかいた関数...
-
エクセルの関数を連続コピー
-
VBA:値をシート間で転記する方法
-
エクセルで赤い字のセルを抽出
おすすめ情報