• ベストアンサー

[ユーザー設定リスト]の最大項目数は?

添付図は Excel 2002 の[ユーザー設定リスト]を示しています。 反転部は私が設定したものです。本来は A,B,C,…,Z,AA,AB,AC,…,AZ,BA,BB,BC,…,IS,IT,IU,IV の 256項目を入力したかったのですが、現実は A,B,C,…,Z,AA,AB,AC,…,AZ,BA,BB,BC,…,IS,IT までの 254個までしか入力できません。 果たして、[ユーザー設定リスト]の最大項目数は 254個と決まっているのでしょうか?仕様として「ヘルプ」の何処かにそのことが明記されていますか?

noname#204879
noname#204879

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.4

>それって、何処に書いてありますか? Microsoftの公式文書としては見た事はありません。 『Excel の仕様および制限』 http://office.microsoft.com/ja-jp/excel/HP100738491041.aspx ここにも載っていません。 個人の検証の結果です。 [ユーザー設定リスト]の最大項目数は総文字数によって変動するようです。 1行の文字数が全て1文字の場合、1,000行登録できました。 : 行ごとに『,』の区切り文字がありますので、それを含めて1,999文字までみたいです。 ...なんて感じで置き換えて受け取ってもらったほうがいいかも。

noname#204879
質問者

お礼

返信が遅れました。 》 1行の文字数が全て1文字の場合、1,000行登録できました 有益な情報をありがとうございました。 2010/04/02

その他の回答 (3)

  • end-u
  • ベストアンサー率79% (496/625)
回答No.3

[ユーザー設定リスト]の最大項目数は総文字数によって変動します。 1行の文字数が全て1文字の場合、1,000行です。 4文字×400行。 9文字×200行。 19文字×100行。 99文字×20行。 行ごとに『,』の区切り文字がありますので、それを含めて1,999文字までです。 1行あたりの最大文字数は255文字まで。 (XL97,2000,2003,2007。macは確認してません) 検証してみたい方は下記のようなVBAコードで可能です。 Sub test1()   Const y As Long = 1000 '作成する漢字データの行数   Const x As Long = 4  '1行あたりの文字数   Dim n  As Long   Dim v  As Variant   On Error GoTo errHndlr   With Sheets.Add     With .Range("A1").Resize(y)       'ユニークな漢字データをCHAR関数で設定       .Formula = "=REPT(CHAR(ROW(A12321)+INT((ROW(A1)-1)/94)*162)," & x & ")"       .Value = .Value       'CustomList登録       Application.AddCustomList ListArray:=.Cells     End With     With Application       v = .GetCustomListContents(.CustomListCount)       '登録したCustomList削除       .DeleteCustomList ListNum:=.CustomListCount     End With     n = UBound(v)     .Range("B1").Resize(n) = Application.Transpose(v)     .Range("C1:D1").Value = Array("データ行数", "登録できた行数")     .Range("C2:D2").Value = Array(y, n)   End With errHndlr:   With Err()     If .Number <> 0 Then MsgBox .Number & ":" & .Description   End With End Sub 254個というのは[リストの項目]のリストボックスの【表示上の制限】です。 実際に登録されている行数とは違います。 Sub test2()   Const y As Long = 500   Dim n  As Long   Dim v  As Variant   On Error GoTo errHndlr   With Sheets.Add     With .Range("A1").Resize(y)       .Formula = "=TEXT(ROW(),""0000"")"       .Resize(, 2).NumberFormat = "@"       .Value = .Value       Application.AddCustomList ListArray:=.Cells     End With     With Application       v = .GetCustomListContents(.CustomListCount)       '.DeleteCustomList ListNum:=.CustomListCount '後で手動削除してください     End With     n = UBound(v)     .Range("B1").Resize(n).Value = Application.Transpose(v)     .Range("C1:D1").Value = Array("データ行数", "登録できた行数")     .Range("C2:D2").Value = Array(y, n)   End With errHndlr:   With Err()     If .Number <> 0 Then MsgBox .Number & ":" & .Description   End With End Sub

noname#204879
質問者

補足

》 [ユーザー設定リスト]の最大項目数は総文字数によって変動します。 》 1行の文字数が全て1文字の場合、1,000行です。 それって、何処に書いてありますか?

回答No.2

とりあえず2004では512以上いきますが、ヘルプの「仕様と制限」 には該当する項目がありませんね。 数式のままではアレなので、「値として貼付け」かなんかでちゃん と文字列にしてから取り込んでみてはどうでしょう。それでダメな ら2002の仕様なのかメモリ依存なのか…

noname#204879
質問者

お礼

[回答番号:No.1]への[お礼]欄にも書きましたが、私の誤解でした。 ありがとうございました。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

実際にセルにAからIVまでを入力し(たとえば「=ADDRESS(ROW(A1),COLUMN(A1),4)」と入力し、このデータを「値」に変化してから「1」を置換で削除したデータ)、これをユーザー設定リストに「インポート」すれば問題なくユーザー設定リストに取り込まれます。 具体的にどのような操作で254個までしか設定できないことを確認したのでしょうか?

noname#204879
質問者

お礼

理由は後述しますが、私の誤解でした。仰るとおり「問題なくユーザー設定リストに取り込まれ」ることを確認しました。 》 具体的にどのような操作で254個までしか設定できないことを確認したのでしょうか? 添付図に示した[リスト項目]の窓内の表示です。右側のスクロールバーを下端まで移動したときに「…、IR、IS、IT」と「IT」までしか表示されていないのです。しかし、改めて注意深く見てみると、「IT」の下に2行分が空白であることに気付きました。この現象は私だけなのでしょうか? バージョンは、Excel 2002 (10.6860.6858) SP3 なのですが。 何れにしてもお蔭様で私の“問題”は解決しました。ありがとうございました。

関連するQ&A

  • エクセルでアルファベットの連続を簡単に入力するには

    以下のようにアルファベットを連続して 簡単に入力する方法があれば教えてください A B ・ ・ Y Z AA AB ・ ・ AZ BA BB BC ・ ・ ZZ

  • エクセルでアルフアベット自動入力

    エクセルで連番の自動入力でA,B,C,~Z,AA,AB,AC~ というのを簡単に入力したいのですが。 数字だと1と2を入力しコピーのようにずらしていくと連続数字が 入力されていきますが、アルファベットだとオプションのユーザー設定リストに入れた分しか連続になりません。

  • アルファベット版00~99になって00に戻るVBA

    excel2010のVBAに付いてお力を貸してください。 例えばA1セルに「AA」と入っていた場合、マクロを一度実行したらA1を「AB」にしたいです。 最後(ZZ)まで行ったら最初(AA)に戻ります。 AA→AB AB→AC AZ→BA BA→BB ZZ→AA AAA→AAB AAZ→ABA ZZZ→AAA のような形です。 条件としましてはA1には1~8桁まで入る可能性があります。 大文字と小文字が入る可能性があります。(Aaなど混ざることはありません。) If Str = "Z" Then  Str = "A" ElseIf Str = "z" Then  Str = "a" Else  Str = Chr(Asc(Str) + 1) End If 一桁ならこんな感じになると思うのですが、繰り上げや、ZZZからAAAに戻すうまい方法が浮かびません。 よろしくお願い致します。

  • エクセルの関数やマクロで

    A列に以下のように入力したいのですが。 aa ab ac ad ae af 上記のようにアルファベット順で入力して、azまでいったら、今度はbaからbzでまで入力します。そのような感じでzzまで入力していきたいのですが。 この入力作業を、関数やマクロで行なうことは可能でしょうか? おわかりになる方がいましたら教えて下さい。

  • excelのリスト絞り込みで困っています。

    下記のようなデータがシートにあった場合 A列         B列         C列 商品コード     商品コード1     品番 AA          AA          A1 AB          AA          A2 AC          AA          A3 ZZ          AB          B1            AC          C1 D列に商品コードの入力規則によるリストを指定。 E列に品番の入力規則によるリストを指定し 選ばれた商品コードに該当する品番を E列のリストに表示したい場合はどうしたらよいのかご教授ください。 D列のリストでAAを選んだら E列の品番のリストにはA1とA2とA3が出るというイメージです。 その際にZZを選ばれた場合は、品番のリストが無いのでエラーとする方法も あわせて教えてください。

  • リストの切り替え

    お世話になっております。 Excel初心者ですが、どなたかご教授ください。 AとBの項目があります。 Aは入力規則でリストから、ああ~おお まで選べます。 Bも同じく入力規則のリストにしたいのですが、 Aで選んだ値によってBのリストの値を変更したいのです。 別のセルに ああ aa,bb,cc いい dd,ee うう ff ええ おお gg ※実際は縦にデータを書き込んでいます 上記のようにBで表示したい値を書き込んでいます。 Aで"ああ"を選んだ場合はBのリストにaa、bb、ccを表示させたいのです。 Aが"ええ"の場合は表示なく、手入力となります。 このような感じですが、できますでしょうか? どなたか教えてくださいm(__)m

  • 【Excel】ユーザー設定リスト以外で並べ替え

    Excel2003と2007両方で可能な操作を考えています。 ユーザー設定リストではなく、別シートにあるリストを使ってピボットテーブルの項目を並べ替えるマクロを作ることは可能でしょうか。 どのように記述すればよいのでしょうか。 マクロはまだまだ勉強中のためどなたか教えていただけないでしょうか。 宜しくお願いいたします。

  • D列に増減を表示したい

    AAからZZまでの増減を計っています。 AAからABになると +1です ABからAAになると -1です AZの次はBAです CZの次はDAです この場合 D列にはどんな計算式が入るのでしょうか?

  • IF条件設定がうまくいきません

    下記関数で日付を表示させています (1)から(3)までは問題なく現在使用していますが 今回の(4)番のところの関数がうまくいきません ご教授いただけますと助かります、よろしくお願い致します 1.AZ4に年月日「20181001」と任意で入力 2.セルBB4は「AZ4」から条件付き月末日を表示 =IF(AZ4="","",VALUE(TEXT(EOMONTH(TEXT(AZ4,"0-00-00"),IF(RIGHT(AZ4,2)-16<0,2,3)),"yyyymmdd"))) 3.セルBA4は下記関数でBB4のデータから月を2桁で抽出表示 =IF(BB4="","",MID(BB4,5,2)) 4.セルAY4に「BA4」で得た2桁の月と現在の当月が一致した場合「●」を表示し条件以外は空白とする =IF(BA4="","",IF(MID(BA4,5,2)),"","",●)  ------ダメです =IF(BA4=0,"",IF((MID(BA4,5,2))=MONTH(TODAY()),"●","")) ------ダメです =IF(BA4=0,"",IF(BA4=MONTH(TODAY()),"●","")) ------ダメです 以上よろしくお願いいたします。

  • ファイルからの文字列を検索

    テキストファイルを読み込み、任意の文字列を探すプログラムを作成しました。 これを改良し、ワイルドカード入力をした場合、*をa~zとA~Zに変えて、それぞれで検索しようとしています。ワイルドカードにはいる文字は1文字です。 「a*」と検索すれば「aa」、「ab」~「az」、「aA」、「aB」~「aZ」と検索し、合致したものを出力したいのです。 回答が欲しいとは思いますが、ヒントや考え方など何でも結構ですので、お力添えをお願いいたします。

専門家に質問してみよう