

| [HOME] | [MAIL] |
|
┌─┬─────┬──┬────┬─────────┐
│A│ B │C │ D │ E │
├─┼─────┼──┼────┼─────────┤
│ │ 氏名 │性別│ 住所 │ 媒体 │
├─┼─────┼──┼────┼─────────┤
│1│山田太郎 │男 │東京都 │新聞広告(朝日) │
├─┼─────┼──┼────┼─────────┤
│2│鈴木花子 │女 │埼玉県 │ DM(葉書) │
├─┼─────┼──┼────┼─────────┤
│3│佐藤一郎 │男 │大阪府 │ インターネット │
└─┴─────┴──┴────┴─────────┘上記のような表(かなり簡略化してますが)の「媒体」部分をプルダウンで操作できるようにしたいのです。ちなみに、右クリックの「リストから選択」ではない方法を知りたいのです。 OS:WIN98SE、Excel2000です。 よろしくお願いいたします。 ??????????????????????? A: こんにちは、兵庫Reiです。 簡単なリストボックスの作り方です。(Exlce97の場合です。) 媒体の部分に入れるリスト内容を別表で作成します。 ┌─┬─────────┐
│ │ H │
├─┼─────────┤
│ │ 媒体 │
├─┼─────────┤
│1│新聞広告(朝日) │
├─┼─────────┤
│2│ DM(葉書) │
├─┼─────────┤
│3│ インターネット │
└─┴─────────┘下記表の媒体の部分にリストを表示します。┌─┬─────┬──┬────┬─────────┐ │ │ A │B │ C │ D │ ├─┼─────┼──┼────┼─────────┤ │1│ 氏名 │性別│ 住所 │ 媒体 │ ├─┼─────┼──┼────┼─────────┤ │2│山田太郎 │男 │東京都 │ │ ├─┼─────┼──┼────┼─────────┤ │3│鈴木花子 │女 │埼玉県 │ │ ├─┼─────┼──┼────┼─────────┤ │4│佐藤一郎 │男 │大阪府 │ │ └─┴─────┴──┴────┴─────────┘D2のセルにカーソルを合わせます。 メニューバーのデータ(D)→入力規則(L)を選択すると、データの入力規則のウィンドウが表示されます。 条件の設定で、入力値の種類(A)は「リスト」を選択します。 元の値(S)の所にカーソルを合わせます。又は、右隅のアイコンをクリックします。 次にリストにしたい範囲(表)をドラッグします。(上表のH2:H4) データの入力規則のバーの所にH2:H4が勝手に表示されます。 バーを閉じて、OKボタンを押します。 D2にカーソルを合わせると矢印が表示されます。 矢印をクリックすると「媒体」のリストが表示され、表示したいものをクリックすると選択出来ます。 D3より下のセルには、D2のセルをコピーすればOKです。 こんなものでよろしいでしょうか? 説明がわかりにくかったら、ゴメンナサイm(__)m happytigerさんってもしかして、タイガースファンですか? 私は大のトラキチです。今年こそ優勝だぁ〜 \(^^)/ [質問一覧]/[HOME] CEL289.マクロを使って罫線を引く Q:(質問者:福井miwakoさん) エクセルで毎回おなじ列から列へ罫線をいれています。 でもいちいち範囲指定してから線種を指定するのが面倒です。 マクロを登録しましたが同じセル番号でないと反映されません。 Borderオブジェクト?を使うと聞きましたがさっぱりです。m(__)m ??????????????????????? A: 万年マクロ初心者の兵庫yuhkiです。 良い問題だと思いますので、今回はちょっと作り方を。 1)マクロの自動記録を利用します。 メニューの[ツール]−[マクロ]−[新しいマクロの記録]を選択します。 ボックスが出てきますので、[マクロ名]はそのまま、[保存先]も「作業中のブック」にしておきましょう。 で、A1セルからA7セルまで選択して、右クリックで[セルの書式設定]を選択し、罫線を引きます。 2)Visual Basic Editorを起動します。 メニューの[ツール]−[マクロ]−[Visual Basic Editor]を選択します。 VBEが起動し、左側に標準モジュールというフォルダが表示されていると思いますので、それをダブルクリック、もしくは+マークをクリックするとModule1というのがでてきますので、ダブルクリックします。 すると、右側にコードが表示されます。 私の操作で表示されたコードは以下のコードです。 Sub Macro1() Range("A1:A7").Select -----(*) Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlInsideHorizontal) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With End Sub (*)の部分がセルを選択する部分です。 このままでは、この範囲にしか罫線を設定することが出来ません。 この部分を変更することにより、このコードに汎用性を持たせましょう。 (その下の部分は、EXCELが勝手に記録してくれますので、説明は省略します) ご質問では、毎回セル範囲を選択するのは面倒だ、ということですので、指定したい列の先頭のセルを選択すると必要行まで罫線を設定してくれるようにします。 選択されているセルを指定するには、「Activecell」を使用します。 次にそこから離れたセルを指定するには、「Offset(行,列)」を使用します。 どのセルから離れているかを指定する必要がありますので、Activecell.Offset(行,列)という書式になります。 セル範囲を指定するには、「Range」を使用します。 選択するには、「Select」を使用します。 選択したセルから7行下のセルまでを選択したい場合は、以下のコードとなります。 Range(ActiveCell, ActiveCell.Offset(7, 0)).Select (*)の行を削除し、その場所に上記のコードを入力してください。 EXCELに戻り、どこかのセルを選択し、メニューの[ツール]−[マクロ]−[マクロ]を選択し、マクロ名を指定し、実行します。 上手くいくと良いですね。 ではでは。 [質問一覧]/[HOME] CEL290.2つのリストを照合 Q:(質問者:山梨papaさん) Excelで2つの表があるとします。 (例) 表1:アメリカ、中国、カナダ.... 表2:日本、香港、アメリカ 両方ともに、表示されているものだけをチェックする方法はありますか?(アメリカのみ抽出) 対象となるものが100以上もあると、1つずつ調べれば時間がとんでもなくかかってしまいます。 よろしくお願いします。 ??????????????????????? A: 兵庫yuhkiです。 表の形式が以下のような内容だと仮定します。 A B C D E ┌─────┬─────┬─────┬─────┬─────┐ 1│アメリカ │中国 │カナダ │日本 │香港 │ ├─────┼─────┼─────┼─────┼─────┤ 2│ │ │ │ │ │ └─────┴─────┴─────┴─────┴─────┘別シートを用意し、A2セルから表1の国名をコピーペーストします。 後でオートフィルタを使用したいので、貼り付けるときに[形式を選択して貼り付け]で、「行列を入れ替える」にチェックして貼り付けてください。 その下に表2の国名を同じようにコピーペーストします。 A1セルには「国名」とか適当な文字列を入力してください。 B2セルに以下の式を入力します。 =COUNTIF($A$2:$A$100,A2) で、100行目までコピー。 (ここでは100行目までにしていますが、範囲は適当に変えてください) B1セルにも「個数」とか適当な文字列を入力してください。 すると2つある場合は、「2」となりますので、それを抽出します。 B列を選択して、メニューの[データ]−[オートフィルタ]を選択します。 ▼マークをクリックし、「(オプション)」を選択します。 値を「1」、条件を「より大きい」にして、「OK」。 抽出された国をチェックしてみてください。 関数の説明ですが、 COUNTIF関数−検索条件に一致したセルの個数を返します。 書式は、=COUNTIF(範囲,検索条件)です。 今回は、コピーしても範囲がずれないように絶対参照にしています。 もっと良い方法があるような気がするんですが・・・ ではでは。 [質問一覧]/[HOME] |
| [HOME] | [MAIL] |