- ベストアンサー
[ユーザー設定リスト]の最大項目数は?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>それって、何処に書いてありますか? Microsoftの公式文書としては見た事はありません。 『Excel の仕様および制限』 http://office.microsoft.com/ja-jp/excel/HP100738491041.aspx ここにも載っていません。 個人の検証の結果です。 [ユーザー設定リスト]の最大項目数は総文字数によって変動するようです。 1行の文字数が全て1文字の場合、1,000行登録できました。 : 行ごとに『,』の区切り文字がありますので、それを含めて1,999文字までみたいです。 ...なんて感じで置き換えて受け取ってもらったほうがいいかも。
その他の回答 (3)
- end-u
- ベストアンサー率79% (496/625)
[ユーザー設定リスト]の最大項目数は総文字数によって変動します。 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
補足
》 [ユーザー設定リスト]の最大項目数は総文字数によって変動します。 》 1行の文字数が全て1文字の場合、1,000行です。 それって、何処に書いてありますか?
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
- MackyNo1
- ベストアンサー率53% (1521/2850)
実際にセルにAからIVまでを入力し(たとえば「=ADDRESS(ROW(A1),COLUMN(A1),4)」と入力し、このデータを「値」に変化してから「1」を置換で削除したデータ)、これをユーザー設定リストに「インポート」すれば問題なくユーザー設定リストに取り込まれます。 具体的にどのような操作で254個までしか設定できないことを確認したのでしょうか?
お礼
理由は後述しますが、私の誤解でした。仰るとおり「問題なくユーザー設定リストに取り込まれ」ることを確認しました。 》 具体的にどのような操作で254個までしか設定できないことを確認したのでしょうか? 添付図に示した[リスト項目]の窓内の表示です。右側のスクロールバーを下端まで移動したときに「…、IR、IS、IT」と「IT」までしか表示されていないのです。しかし、改めて注意深く見てみると、「IT」の下に2行分が空白であることに気付きました。この現象は私だけなのでしょうか? バージョンは、Excel 2002 (10.6860.6858) SP3 なのですが。 何れにしてもお蔭様で私の“問題”は解決しました。ありがとうございました。
お礼
返信が遅れました。 》 1行の文字数が全て1文字の場合、1,000行登録できました 有益な情報をありがとうございました。 2010/04/02