[[20261028133753]] 『配列のシート表示』(まいったちゃん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『配列のシート表示』(まいったちゃん)

以下のようなプログラムを作ったのですが、
メモリーエラーが発生します。
何がいけないのでしょうか?
arylist には [:]で区切られた文字列が複数入っています。

Public Sub MakeWorkbookForDebug(arylist As ArrayList)

    Dim wb As Workbook
    Dim ws As Worksheet
    Dim imaxcol As Long
    Dim varlist As Variant
    Dim varval As Variant
    Dim irow As Long
    Dim icol As Long

    ' ◆出力ブックを作成
    Set wb = Application.Workbooks.Add()
    Set ws = wb.Worksheets(1)
    ' ◆配列数を求めて配列を作成する
    imaxcol = 0
    For Each varlist In arylist
        varval = Split(varlist, ":")
        If UBound(varval) + 1 > imaxcol Then imaxcol = UBound(varval) + 1
    Next
    ReDim vardata(1 To arylist.Count, 1 To imaxcol)
    ' ◆arylistのデータを配列にする
    For irow = 1 To arylist.Count
        varval = Split(arylist(irow - 1), ":")
        For icol = 1 To UBound(varval) + 1
            vardata(irow, icol) = varval(icol - 1)
        Next
    Next
    ws.Range("A1").Resize(arylist.Count, imaxcol) = vardata
End Sub

< 使用 Excel:Microsoft365、使用 OS:Windows11 >


 ArrayList
 を使うには
 mscorlib.dll
 への参照設定が必要なようだ。

 あとこれを呼び出すほうではどのようにしているのだろうか?

(ねむねむ) 2026/10/28(水) 14:30:44


皆さん、ごめんなさい原因がわかりました。
文字列の中に "="で始まる文字列がありました。
これによって計算式として判断されエラーが出ていたのだと思われます。
"="で始まる文字列には先頭に"'"をつけることで回避できました。
お手数をおかけしました。
(まいったちゃん) 2026/10/28(水) 14:43:13

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.