Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11078 / 76734 ←次へ | 前へ→

【71197】Re:実効エラー
発言  n  - 12/2/8(水) 0:24 -

引用なし
パスワード
   >以下のコードを実行するとたまに実行エラー13となります。
>
>なぜ?

Excel2000の場合、
VBAでワークシート関数を使う場合の配列要素数に限界があります。
5,461個までです。
これを超えると エラーコード 13 の型不一致エラーになります。

『たまに』なるのは、処理するUsedRangeのセル範囲数が限界値を超えた時だけ
起こるからです。

敢えてFormulaプロパティを使う必要がなければ、回避策はあります。
With ActiveSheet.UsedRange
  .Value = Application.Trim(.Cells)
  .Value = Application.Asc(.Cells)
End With
TrimやAsc関数の引数に配列を与えず、セル範囲を与える事で回避します。
『FormulaプロパティではなくValueプロパティで良ければ』ですが。

>それと私のコードと皆さんの提示しているコードの違いがわかりません。
貴方のコードは配列、あるいは複数セル範囲をまとめて処理する事に対応するため
Applicationクラスのワークシート関数を使っています。

他回答で提示されたコードは単独文字列を処理するために
VBA関数が使われたものです。
配列などに対応するにはLoop処理が必要です。

目的に応じて『違い』があるわけですから
参考 にされれば良いのではないでしょうか。

5 hits

【71184】実行エラー はてな 12/2/6(月) 22:26 質問
【71186】Re:実行エラー ちん 12/2/7(火) 10:42 発言
【71188】Re:実行エラー ちんさんのファン 12/2/7(火) 11:23 質問
【71191】Re:実行エラー ちん 12/2/7(火) 16:00 発言
【71376】Re:実行エラー vbawasureta_vol2 12/2/26(日) 5:06 発言
【71189】実効エラー はてな 12/2/7(火) 12:16 質問
【71197】Re:実効エラー n 12/2/8(水) 0:24 発言
【71245】Re:実効エラー はてな 12/2/14(火) 15:11 お礼
【71246】Re:実効エラー n 12/2/14(火) 17:45 発言
【71377】Re:実効エラー vbawasureta_vol2 12/2/26(日) 5:22 発言
【71378】Re:実効エラー n 12/2/26(日) 12:06 発言
【71199】Re:実効エラー ちん 12/2/8(水) 16:02 発言

11078 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free