アプリ版:「スタンプのみでお礼する」機能のリリースについて

セクセルで都道府県を選択できるようにしたい

すいませんが教えてください。たとえばA1セルにセブンイレブンと入力しA2にどこの都道府県かを入力したいのですがリストで作成
することは可能ですが?いちばん簡単な方法はありますか?入力規制のリストで一度試みましたが文字が小さすぎて変更もできませんでしたので他の方法があるのかな?と思って皆様の知恵を拝見させていただければ幸いです。また都道府県も全てて入力ではなく簡単なやり方があれば教えてください。

これができれば他にも営業担当者もリストから選択ができて効率が上がりますので教えてください、

宜しくお願い致します。

A 回答 (6件)

こんにちは。

お邪魔します。

"簡単な"というのが、設定が簡単という意味でしたらば、
[データの入力規則]の[リスト]に勝るものはないです。
リストに表示される"文字が小さすぎて"、ということでしたらば、
[ActiveXコントロール]の[リスト ボックス]を活用する方法も
比較的簡単です。

ただ、各種ドロップダウンリストの場合、リスト内容が47点ともなると、
探すのに迷ったり、選択するのに手間が掛かったりして
能率的と呼べるようなものにはなりません。
"簡単な"とか"文字が小さすぎて"というのは、
ここら辺の含みを仰ってるのかな?と思った次第です。

"簡単な"というのが、入力作業を効率化する、という意味だった場合の話を書いてみます。
# そうでない場合は以下読まなくてもいいです。
設定する作業は難しくなりますが、VBAを活用する方法です。

添付画像とVBAサンプルコードで示した、
コマンドバーのポップアップメニューを用いる方法。
サンプルでは、(仮に)C3:C12 をダブルクリックした場合、
添付画像のように階層化されたポップアップが表示されます。
一覧に近い形で視認し易いのが特長です。
区分を工夫すれば、より扱い易くなります。

例えばキーボードで操作する場合の最大(平均)ストローク数や、、
視認し易さ、リテイクのし易さ、等を基準に考えて
適切なツールを選んで工夫すればいいと思います。

提示したサンプルは発展系があって、
ユーザーフォームを組み合わせて、
 T  → 千葉 東京 徳島 栃木 鳥取 富山
  O  → 東京 徳島 栃木 鳥取 富山
  Y → 富山
のような感じで、
キーボードストロークに連続的に応じた予測変換リストをポップアップする
ようにして、さらなる省手数化も可能です。

一応、閲覧されている方にも、こちらの意図が伝わるようにサンプルコードあげておきます。
Excelの習熟が進まなければ扱えないでしょうけれど、
一応、Excelの可能性だけは紹介しておこうと思いました。
もし、興味を持たれて試してみたいとか思ったならば相談してみてください。


' ' ===========標準モジュール============
Option Explicit ' Re8265860
Option Private Module

Const fCmdBName = "PopupTree都道府県"
Const fOnAct = "RcvCmd都道府県"
Const f9D47P = "北海道" & _
      ";" & "東北 青森 岩手 宮城 秋田 山形 福島" & _
      ";" & "関東 茨城 栃木 群馬 埼玉 千葉 東京 神奈川" & _
      ";" & "中部 新潟 富山 石川 福井 山梨 長野 岐阜 静岡 愛知" & _
      ";" & "近畿 三重 滋賀 京都 大阪 兵庫 奈良 和歌山" & _
      ";" & "中国 鳥取 島根 岡山 広島 山口" & _
      ";" & "四国 徳島 香川 愛媛 高知" & _
      ";" & "九州 福岡 佐賀 長崎 熊本 大分 宮崎 鹿児島" & _
      ";" & "沖縄"

Sub myポップアップメニュー設定()
  Dim v
  Dim sArrD() As String
  Dim sArrP() As String
  Dim nChildren As Long
  Dim i As Long

  On Error Resume Next
  Application.CommandBars(fCmdBName).Delete
  On Error GoTo 0

  sArrD() = Split(f9D47P, ";")
  With Application.CommandBars.Add(fCmdBName, msoBarPopup, , True)
    For Each v In sArrD()
      sArrP() = Split(v)
      nChildren = UBound(sArrP)
      If nChildren = 0 Then
        With .Controls.Add(msoControlButton)
          .Caption = sArrP(0)
          .OnAction = fOnAct
        End With
      Else
        With .Controls.Add(msoControlPopup)
          .Caption = sArrP(0)
          For i = 1 To nChildren
            With .Controls.Add(msoControlButton)
              .Caption = sArrP(i)
              .OnAction = fOnAct
            End With
          Next i
        End With
      End If
    Next
  End With
  MsgBox "ポップアップメニュー" & vbLf & "'" & fCmdBName & "'" & _
   vbLf & "を設定しました。", vbInformation
End Sub

Sub myポップアップメニュー削除()
  On Error Resume Next
  Application.CommandBars(fCmdBName).Delete
  If Err Then
    MsgBox "ポップアップメニュー" & vbLf & "'" & fCmdBName & "'" & _
     vbLf & "は存在しません。", vbInformation
  Else
    MsgBox "ポップアップメニュー" & vbLf & "'" & fCmdBName & "'" & _
     vbLf & "を削除しました。", vbInformation
  End If
End Sub

Sub RcvCmd都道府県()
  With ActiveCell
    .Value = Application.CommandBars.ActionControl.Caption
    .Next.Activate
  End With
End Sub

Sub Auto_Open()
  Call myポップアップメニュー設定
End Sub

' ' ==============================

' ' ===========シートモジュール===========

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  If Intersect(Range("C3:C12"), Target) Is Nothing Then Exit Sub
  Cancel = True
  Application.CommandBars("PopupTree都道府県").ShowPopup
End Sub

' ' ==============================
「エクセルで都道府県のリスト作成をしたいで」の回答画像6
    • good
    • 0

ドロップダウンリストでしょうか


エクセル2003以前、2007、2010と多少違うようです。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/n-kis …
http://www.becoolusers.com/excel/data-validation …

御節介つでに
使用目的は解りませんが
都道府県など47も選択肢があると私には選ぶのが面倒です
選ぶより入力した方が効率的かもしれません。

A2にドロップダウンリスト「北海道、東北、関東、北陸、中国・・・・」もしくは営業所で絞込み
A2で絞り込まれた結果、A3でその地域の都道府県が選択できるようにしてもよいでしょう。

営業担当者も大勢いると選択を間違える原因になりかねませんね。

とりあえずエリア毎にファイルを作り、
必要が有ればファイルにまとめても良いかもしれません。

リストのフォームが完成した後、
規模が大きいと入力するのも大変です。
セブンイレブンは国内に15,831店あるんですね。
また、出店、閉店、営業担当の増減があるでしょう。
リストのメンテナンスが出来る人はfwkb6253 さん以外にもう一人、出来れば数人いるといいですね。
統一したフォームでエリア毎に入力を分業も出来ますね。
5人でも一人当たり15,831店全店入力となると三千以上の入力数です。
    • good
    • 0

》 入力規制のリストで…


エクセルの用語だと「入力規則」だけど、貴方はなぜ「規制」という言葉を使われたのですか?何処ぞの書物に書いてあったとか?
チト、気になったものでお尋ねしています。
    • good
    • 0

>入力規制のリストで一度試みましたが文字が小さすぎて変更もできませんでしたので……



「文字」というのは、どこのことを言っていますか?

もしも、リストを使ってセルに値を記入するときにセル上にプルダウンで表示される文字列のことなのでしたら、画面全体の表示倍率を 200 % とかに上げて、再度行ってください。セルなどが大きく表示されていますが、一緒にプルダウンの文字も大きくなります。


>また都道府県も全てて入力ではなく簡単なやり方があれば教えてください。

「全て手(?)入力」というのは、入力規則のダイアログ内でキーボードからタイプして、リストに加えたい各文字列そのものをそこのボックスに記入するという意味ですか?

そうであれば、その方法でなくても、セル参照によりリストを指定できます。ダイアログで「リスト」を選んでいるときに現れている「元の値」ボックスにカーソルを置いた状態で、シートの参照したいセル範囲をドラッグするだけです。


>たとえばA1セルにセブンイレブンと入力しA2にどこの都道府県かを入力したいのですがリストで作成することは可能ですが?

連動する複数のリストを用意するには、名前という機能と INDIRECT 関数を併用します。検索すれば多くのページが出てくると思いますが、例えば次ページなどをご覧ください。

http://www.relief.jp/itnote/archives/000822.php

もしも店名と都道府県名が 1 対 1 で対応しているという場合は、リストの機能を使うよりも VLOOKUP 関数で都道府県名を自動入力するほうがラクだと思います。この関数は、Excel の初級ではいちばん難しい数式といった感じかもしれませんね。次ページなどを参考に。

http://allabout.co.jp/gm/gc/297725/
    • good
    • 0

1です。


補足します。
もし47が見辛いと感じるならば
もう一列用意して地方のリストと繋げると、格段に見やすくなると思います。

EXCEL 入力規則・リスト応用編 いろいろ
http://note.chiebukuro.yahoo.co.jp/detail/n149222
    • good
    • 0

入力規制のリスト設定で良いと思います


文字が小さいならば、フォント設定で文字を大きくしてください。

Excel(エクセル)基本講座:入力規則の使い方
http://www.eurus.dti.ne.jp/~yoneyama/Excel/n-kis …

Excel のフォント名またはフォント サイズを変更する
http://office.microsoft.com/ja-jp/excel-help/HP0 …

都道府県の文字入力が面倒な時
http://ja.wikipedia.org/wiki/都道府県

行や列の表示・非表示(都道府県のリストを隠したい場合)
http://pc.nikkeibp.co.jp/pc21/tech/excel43/15/
「エクセルで都道府県のリスト作成をしたいで」の回答画像1
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています