セルにドロップダウンリスト(入力規則)を設定したエクセルファイルがあります。このファイルを開けると、セルによってドロップダウンリストが出現するセルと出現しないセルが発生します。
出現するセルと出現しないセルは、いつも同じセルです。なぜリストが出現しないセルがあるのか分かりません。

 状況1.WIN98SEにOFFICE97を入れています。
 状況2.ファイルが開くときにマクロで書式設定等を行っています。
 状況3.マクロを無効にして開くと、全てのリストは出現します。
 状況4.OFFICE2000の環境では、正常に全てのリストは出現します。
 状況5.そのファイルは何度か手を加えられており、97の環境で作られたか
      2000の環境で作られたか分かりません。おそらくもともと97で
      作られ、その後2000で手を加えられたと思います。

リストが出現しないというのは、そのセルをクリックしても、ドロップダウンの矢印?が出ず、リストも表示されないというものです。リストの一覧は他のセルに設定してあります。ただ、入力規則は働いており、そのセルには、リストの一覧にある文字しか入力はできません。
どなたか助けてください。お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

私も同じトラブルを疑問に思って色々といじってみたところ、「ウィンドウ枠の固定」を入力規則が設定されているセルの間近で行うと、ダウンリストが表示されなくなるようです。


ですから「ウィンドウ枠の固定」を別のセルで設定すれば、きちんと表示されますよ。
gonmomoさんのExcelファイルはどうなってます?
    • good
    • 0
この回答へのお礼

マクロの中で動的に枠固定されていました。
解決できました。今回はありがとうございました。

お礼日時:2002/01/22 17:30

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルにプルダウンメニュー

エクセルにプルダウンメニューの作成方法を教えて下さい。

Aベストアンサー

メニュー[データ]-[入力規則]-[リスト]で設定できます。

参考URL:http://www2.odn.ne.jp/excel/waza/validation.html#SEC1

Q[Excel2000]セルの入力規則→リストのセルから出るドロップダウンリストが小さ過ぎなのは?

エクセル2000での質問です。
[ツールバー]→[データ]→[入力規則]→[リスト]のセルから出るドロップダウンリストが
小さ過ぎるのはなぜでしょう?

入力規則を設定したセルも、設定時の元の値のセルでも書式を変更してみたのですが、
ドロップダウンリストは大変小さく変更されません。

ドロップダウンリストの書式(フォントサイズ)を変更する方法をご存知の方が
おられましたらどうぞご教授ください。
お願いいたします。

Aベストアンサー

> ドロップダウンリストの書式(フォントサイズ)を変更する方法をご存知の方が
> おられましたらどうぞご教授ください。

入力規則のリストに表示されるフォントサイズ変更するには、レジストリーを
操作する必要があります。
ただし、入力規則だけでなくExcelの各ダイアログの大きさも変わります。

それで良かったら、次の手順で操作してみてください。
操作は慎重に!! あくまでも自己責任で・・・

[スタート]-->[ファイル名を指定して実行]で「名前」欄に regedit と
入力して[OK]します。

次のキーを開きます。

(Excel2000)
HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Excel\Options
(Excel2002は 10.0、 2003は 11.0)

メニューから[編集]-->[新規]-->[文字列値]を指定すると「名前」欄に「新しい値 #1」が
追加になり、反転していますので、その名前を「DlgFont」という文字列に修正します。

その名前をWクリックして表示されたダイアログの「値のデータ」に以下に示す
ようにフォント種とサイズをカンマで区切った文字列を入力し、[OK]します。
(全角/半角やスペースに注意。 できれば最初は、これをコピペしてください。)
(サイズ13の数字がフォントサイズです。かなり大きいです。11~13でテストしてみて
適当な値を決めてください。値を変更した時は、Excelを再起動して確認します。
また、regeditを再起動した場合は、追加した「DlgFont」の位置は、変って
いますので、探してWクリックすると値を変更することが出来ます。)

MS Pゴシック,13

Excelの各ダイアログにも影響が出ていますので、
例えば、メニューから[ファイル]-->[開く]のダイアログで確認してみてください。
サイズを15にするとダイアログが画面からはみ出しています。

> ドロップダウンリストの書式(フォントサイズ)を変更する方法をご存知の方が
> おられましたらどうぞご教授ください。

入力規則のリストに表示されるフォントサイズ変更するには、レジストリーを
操作する必要があります。
ただし、入力規則だけでなくExcelの各ダイアログの大きさも変わります。

それで良かったら、次の手順で操作してみてください。
操作は慎重に!! あくまでも自己責任で・・・

[スタート]-->[ファイル名を指定して実行]で「名前」欄に regedit と
入力して[OK]します。

次...続きを読む

Qエクセルのプルダウンで数字の後ろの英語を入れて・

エクセルのプルダウンで数字の後ろの英語を入れて、
プルダウンをすると、数字が増えません。
(例)
83559oewe
83559oewe
83559oewe
83559oewe
83559oewe




そうではなく、下記のようにしたいのですが
(以前のエクセル2003では出来ていた)
83559oewe
83560oewe
83561oewe
83562oewe
83563oewe




どこの設定を変更したら行けますでしょうか?

Aベストアンサー

Ctrlキーを押しながらやってみてください。
だめなら、83559oeweと83560oeweを記入してから、83559oeweと83560oeweを選んで、下にドラッグコピーしてみてください。

Qエクセル、入力規則のドロップダウンリストの表示文字サイズを変更するには?

 エクセルシートにて、セルに入力規則を設けて誤入力がないようにしているのですが、表示されるドロップダウンリストの表示文字サイズが小さくて、見にくいのです。
 先ほどから、ヘルプを見て設定を変更しようしていますが、上手く行きません。

 ヘルプの解説文はいつも抽象的で分かりにくく、エクセル2003になって少しはマシになりましたが、2000では初級者には非常に分かりにくいです。
 どなたか、教えていただけませんか?

Aベストアンサー

こんばんは。

ここの話ですよね。
http://support.microsoft.com/default.aspx?scid=kb;ja;JP405456
[XL95]ダイアログ ボックス内のフォントを変更する方法

結構、Excelのベテランさんは、そこで、フォントの大きさを換えているようなのですが。要するに、DlgFont という項目を作ってあげて、そこに書き込むだけです。ただし、他の部分も変わります。

Qエクセルのプルダウン設定について

エクセルのプルダウン設定について質問です。
(オートフィルタではなく、入力規則のプルダウン)

例えば、デスクトップからスタート→プログラム→Internet のように
エクセルのプルダウンも2段階(大項目→小項目)にわけて設定することはできるのでしょうか?

どなたか教えてくださーい!

Aベストアンサー

時々出る質問です。
http://okwave.jp/kotaeru.php3?q=670969
の回答などご覧ください。「入力規則」「多段」でOKWAVEを検索しました。
(可変)範囲名を使った、良い回答がありましたが、「入力規則」にプラスするキーワードが判らず、私の回答を参考に上げます。

QExcelの入力規則のドロップダウンリストの表示のフォントについて

エクセル2000を使用しています。
入力規則のリストを使って、ドロップダンウンリストから選択するようにして
いるのですが、このドロップダウンリストを表示させた状態のフォントの大きさを
調節できるのでしょうか?
選択する項目を見やすくしたいのです。
一時的に画面の拡大をする方法もありますが、ドロップダウンリスト内で選択する
時点(項目を選ぶ時)でもっと見やすくしたいのです。
何か方法がありましたら、教えてください。

Aベストアンサー

>何か方法がありましたら、教えてください。

入力規則での拡大は難しいですね。

代替案として、コンボボックスで入力規則と同様機能を作ってみました。シート1(Sheet1)で実行してみます。
 (使いようによっては、入力規則以上の表現ができるでしょう)

1.入力規則をリスト化したデータをシートに書いておきます。例えばセル範囲『Z1:Z10』とします。
2.表示→ツールバーでVisual BasicをチェックしてVisual Basicのツールバーを出します。
3.コントロールツールボックスのアイコンをクリックしてダイアログを表示。
4.そこからコンボボックスをクリックして画面に貼り付けます。
4-1.コンボボックスを右クリックしてプロパティを選択。
4-2.(オブジェクト名)はComboBox1のままとします。
4-2.プロパティのListFillRangeにZ1:Z10。
4-3.プロパティの 'Width'   で幅
         'Height'   で高さ
         'Font'    でフォント
         'BackColor' で背景色 が指定できます。

好きに大きさを調整して下さい。何度でもできます。
コンボボックスの作成が終わったとして、次にシカケのマクロを書きます。

5.ツール→マクロ→Visual Basic Editor でVBE画面に移り、
  表示→プロジェクトエクスプローラでプロジェクトエクスプローラを表示。
  Sheet1をダブルクリック。でてきたコードウインドウに下記マクロを貼り付けます。
6.入力規則列1 = の次に入力規則を適用してコンボボックスを表示させる範囲を指定します。
7.シートに戻り、指定した範囲をクリックすれば入力規則と同様なコンボボックスが出るはずです。
入力規則にあるメッセージの処理などは割愛しました。 ご参考に。


ここから

'入力規則列1 :入力規則を適用する列名、範囲
'       列全体なら『E:E』のようにする
'       列の一部なら『E1:E100』のようにする。連続する列、範囲も可
 Const 入力規則列1 = "E1:E100"

'出力位置横、縦:コンボボックスを出す相対位置(0は同じ列または行、1は右または下)
 Const 出力位置横 = 0
 Const 出力位置縦 = 1

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  On Error GoTo ErrorHandler  'エラー対応

  With ComboBox1
    If Target.Count = 1 Then  '単一セルの操作の場合
      If Not Intersect(Target, Range(入力規則列1)) Is Nothing Then '列の特定
          .Visible = True      'コンボボックスを見えるようにする
          .Top = Target.Offset(出力位置縦, 出力位置横).Top  '縦位置
          .Left = Target.Offset(出力位置縦, 出力位置横).Left '横位置
          .LinkedCell = Target.Address            'リンクするセル
      Else
        .Visible = False  'コンボボックスを見えなくする
      End If
    Else
      .Visible = False    'コンボボックスを見えなくする
    End If
  End With

  Exit Sub

ErrorHandler:

End Sub

>何か方法がありましたら、教えてください。

入力規則での拡大は難しいですね。

代替案として、コンボボックスで入力規則と同様機能を作ってみました。シート1(Sheet1)で実行してみます。
 (使いようによっては、入力規則以上の表現ができるでしょう)

1.入力規則をリスト化したデータをシートに書いておきます。例えばセル範囲『Z1:Z10』とします。
2.表示→ツールバーでVisual BasicをチェックしてVisual Basicのツールバーを出します。
3.コントロールツールボックスのアイコンをクリック...続きを読む

Q入れ子のプルダウン?孫プルダウン?を作成したい

入れ子のプルダウン?孫プルダウン?を作成したい
HTMLで画像のようにリストのリスト(入れ子のリスト?孫リスト)
を作成したいのですがどうすればいいのでしょうか
プログラムコードも載せて頂きたいです。

例(プルダウンのプルダウンを作成したい)
 東京
   →渋谷
    新宿
    品川
 大阪
 名古屋
 福岡

Aベストアンサー

参照URLでは、JavaScriptを使わずにクールな多段メニューを紹介しています

参考URL:http://journal.mycom.co.jp/articles/2010/03/24/css/index.html

QExcel:既入力項目をドロップダウンリストに(入力規則?)

Excelで、
ある列に簡単な文字列を入力していっているのですが、
それまでに同じ列で入力したのと同じ内容を入力する際に、
ドロップダウンリストを使いたいと思っております。
入力リストとも思うのですが、内容が固定でなく、
新たな内容を入力したら、それもリストで
使えるようにしたいです。

(例)
AAA
(空白)
(空白)
BBB
(空白)
CCC
(空白)
    ←ここを入力するときに、
     AAA・BBB・CCCから選択またはDDDを手入力
    ←上でDDDを入力していたらAAA・BBB・CCC・DDDから選択
     そうでなければAAA・BBB・CCCから選択
以下ずっとこんな感じ(新項目を入力したら以後それもリストに入ってほしい)

このような場合、どのように設定したらよいのか、
お分かりの方がいらっしゃいましたらご回答ください。

Aベストアンサー

こんにちは。

>自動的にリスト形式になってしまい、新たな(=リストにない)項目入力ができなくなってしまいます。

これは、私のミスです。すみません。それと、細かい点も見直してみました。また、ダブルクリックではなく、右クリックや、Alt + ↑に置き換えることも可能です。

以下のようにすれば、リストにないものでも加えられるようになります。入力規則のドロップダウンが邪魔になるときに、消すプログラムも付けておきます。シートをアクティブにすると消えます。

それと、今は、文字のリストを使っていますので、たぶん、そんなに多く入らないかもしれません。もし、そういう状況になったら、シートのどこかにリストを作ってあげれば、1000個ぐらいは可能になると思います。ただ、1000個もあったら、探すのが面倒だと思いますが。


'-------------------------------------------

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim tRng As Range
  Cancel = True
  ActiveCell.EntireColumn.Validation.Delete
  If WorksheetFunction.CountA(Target.EntireColumn) = 0 Then Exit Sub
  Set tRng = Range(Cells(1, Target.Column), Cells(Rows.Count, Target.Column).End(xlUp))
  With Target.Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
     Operator:=xlBetween, Formula1:=UniqLists(tRng)
    .IgnoreBlank = True
    .InCellDropdown = True
    .ShowError = False
  End With
End Sub

Function UniqLists(rng As Range) As String
'リスト化する関数プロシージャ
  Dim i As Long
  Dim ret As Variant
  Dim buf As String
  With rng.Columns(1)
    For i = 1 To .Rows.Count
      If .Cells(i, 1).Value <> "" Then
        ret = Application.Match(.Cells(i, 1).Value, .Cells, 0)
        If IsNumeric(ret) And ret = i Then
          buf = buf & "," & .Cells(i, 1).Value
        End If
      End If
    Next i
  End With
  UniqLists = Mid(buf, 2)
End Function

'-------------------------------------------
Private Sub Worksheet_Activate()
'シートをアクティブしたときに、入力規則のリストを削除する
Dim rng As Range
 On Error Resume Next
 Set rng = ActiveSheet.Cells.SpecialCells(xlCellTypeAllValidation)
 rng.Validation.Delete
 Set rng = Nothing
 On Error GoTo 0
End Sub

こんにちは。

>自動的にリスト形式になってしまい、新たな(=リストにない)項目入力ができなくなってしまいます。

これは、私のミスです。すみません。それと、細かい点も見直してみました。また、ダブルクリックではなく、右クリックや、Alt + ↑に置き換えることも可能です。

以下のようにすれば、リストにないものでも加えられるようになります。入力規則のドロップダウンが邪魔になるときに、消すプログラムも付けておきます。シートをアクティブにすると消えます。

それと、今は、文字のリスト...続きを読む

Qエクセル プルダウン(入力規則)選択後、ソートする方法

Office2003のエクセルを使用しているものです。

ある商品マスタデータをエクセルで整理する業務を行っております。

あるプルダウンが選択されたら、次のプルダウンには前に選択されたプルダウンのキーワードに紐づく値がソートされたものを表示させることがしたいです。

つまり例を挙げますと、プルダウン
大ジャンル選択後、その大ジャンルに紐づく中ジャンルデータがプルダウンにセットされ、さらにある中ジャンル選択後、大ジャンル-中ジャンルに紐づく小ジャンルがソートされて表示する。

下記URLのことをのセルに記入したデータを使ってエクセル上で行いたいです。
http://www.jkcf.or.jp/bookman/php/usr/usr_group_search.php?lang_type=J

VBAは一応わかります。

よろしくお願いいたします。

Aベストアンサー

こんばんは。

簡単に作る方法は、AdvancedFilter を使えばよいです。
大分類、中分類、小分類 それぞれ列に項目を作っておいて、

ComboBox やダウンリストで、出力し、それを、Criteria に入れて、後は、クリックボタンで、AdvancedFilter を実行すれば出てくるはずです。

最初から、マクロで検索をしたら、かなり面倒だと思います。
ただし、どちらかというと、データベースですね。

Q【エクセル】ドロップダウンリスト(入力規則)の参照元を別シートに作るには?

ドロップダウンリスト(入力規則)にて、参照元のデータを別シートに作るにはどうすればよいでしょうか?

ご存知の方、いらっしゃいましたら、ご教授願います。

Aベストアンサー

入力規則のリストで参照元になるデータが別のシートになる場合、例えばシート2のA1セルからA10セルにあるデータを使用するとして、回答1さんのようにA1からA10を選択してエクセル2002などの場合には「挿入」メニューから「名前」の「定義」で「リスト1」のように定義し、入力規則の元の値では=リスト1と入力すればよいでしょう。

名前の定義を使わない方法としては元の値に=INDIRECT("Sheet2!A1:A10")のように入力すればよいでしょう。


人気Q&Aランキング

おすすめ情報