
いつもお世話になります
今、カンマ区切りのデータを使って処理するプログラムを作成していますが
データが無いもないときの処理について、正しい処理はどっちなのか疑問になったので
教えてください
ABC = ""
・(ABCに入力無し)
tmp = Split(ABC, ",")
For i = 0 To Ubound(tmp)
(処理)
Next i
この場合、Ubound(tmp)は -1 となり(処理)は実行しませんので
これで良いと思いますが
Webで調べても空の場合 -1 になるということは書いてありませんでした
ちょっと、心配なったので
If ABC<>"" then をFor文の前に入れようかと考えていますが
その前に皆様に聞いてみようと思い投稿してみました
すみません、変な質問で!
以上、よろしくお願い申し上げます

No.2
- 回答日時:
>If ABC<>"" then
この場合は、使っても使わなくてもお好きな方で。
逆に、よく引っかかるのがExcelのセルの値で
xxx = Range(Cells(2,1), Cells(Rows.Count,1).End(xlup)).value
で、対象が無いとき、1件のとき、複数のときで後の処理が異なる。
早速のご返答ありがとうございます
そうですね
xxx = Range(Cells(2,1), Cells(Rows.Count,1).End(xlup)).valueは
知らなかったです
今度、試してみます
ありがとうございました
No.3さんの答えのように外しちゃおうかなっと思います
これからもよろしくお願いいたします
No.1
- 回答日時:
よく見かけるとしたら無駄に処理へ回らないよう、
>If ABC<>"" then をFor文の前に入れようかと考えています
この方法をされているコードはありましたね。(類似を含め)
-1 ってのは Split の最小要素番号が 0 であるのに対し、何かしら1つだけ文字列があれば 0 になるでしょうけど、何もないので『どうしろって言うんだ?』的に -1 を返すのかなと今回の質問で知りましたが私はそう感じました。
早速のご返答ありがとうございます
そうなんです
私も今回テストしてみて分かったんです
そこでIf ABC<>"" thenはいらないかなっと思って
相談してみました
No.3さんの答えのように外しちゃおうかなっと思います
ありがとうございました
これからもよろしくお願いいたします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 回数を指定しないで空白行まで繰り返し処理 3 2022/02/01 19:36
- Visual Basic(VBA) Excel VBAでフォルダ内の全テキストファイルの任意データを取得について 7 2021/12/18 16:00
- Excel(エクセル) マクロを修正できないものか、統合シートについて 3 2021/12/07 09:26
- Visual Basic(VBA) vba 重複データ合算 5 2023/07/05 18:55
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- Excel(エクセル) マクロ作成で困っています。お教え頂けませんか。 1 2021/12/12 17:02
- Visual Basic(VBA) VBAで指定期間の範囲を抽出し、リストボックスに表示したいです。 2 2021/12/20 23:21
- Visual Basic(VBA) VBA 毎日取得するデータを反映させる方法 の応用 2 2023/09/05 16:32
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Visual Basic(VBA) 読み込みで一行おきに配列に格納 1 2021/12/27 20:56
このQ&Aを見た人はこんなQ&Aも見ています
-
split関数で区切り文字がない場合
Visual Basic(VBA)
-
ACCESS VBAのSplit()関数の使用方法
Visual Basic(VBA)
-
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
-
4
VBA 置換文字がみつからない時
Visual Basic(VBA)
-
5
UserForm1.Showでエラーになります。
工学
-
6
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
7
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
8
ウォッチ式の文字数制限について
Visual Basic(VBA)
-
9
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
10
EXCEL(VBA) 末尾の改行のみ削除したい
Excel(エクセル)
-
11
【VBA】テキストファイルを指定行数からの読み込み
Visual Basic(VBA)
-
12
Cellsのかっこの中はどっちが行と列なの?
Visual Basic(VBA)
-
13
array関数で格納した配列の型を変更する
Visual Basic(VBA)
-
14
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
15
【Excel VBA】指定行以降をクリアするには?
Visual Basic(VBA)
-
16
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
-
17
VBAにて読み込みが出来ない環境依存文字 ㉖ の文字コードを教えて下さい。
Excel(エクセル)
-
18
ADOを使ったDBアクセス後のメモリ解放
その他(データベース)
-
19
エクセルで別ブックをバックグラウンドでオープンする方法
Excel(エクセル)
-
20
CASE文のエラーについて
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
お家デートをしててハグを長い...
-
内部処理形式ってなんですか
-
エクセルで、日付を入力すると...
-
英語の知識があって、数学の知...
-
皆さんが1番信じているものはな...
-
「ご処理進めて頂きますようお...
-
VBA Progress barが動作しない
-
カスタムドロー
-
VBAでCOPYを繰り返すと、処理が...
-
計算の問題なのですが、 例えば...
-
VBAでループ内で使う変数名を可...
-
インタラクティブの反対語は?
-
ハードウェア処理とソフトウェ...
-
VCで処理中ダイアログボックス...
-
文字が入力されたときに処理に...
-
シェルアイコンがイメージリス...
-
パワーポイントでは、どうすれ...
-
掃き出し法 コツ
-
VBの質問#if 0 then ってどう...
-
マルチプロセッシングとマルチ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
VBAでループ内で使う変数名を可...
-
【Excel】特定の文字を含むセル...
-
switch の範囲指定
-
EXCEL VBA マクロ 実行する度に...
-
UMLでの例外処理
-
DoEventsがやはり分からない
-
月度は何て読みますか?
-
お家デートをしててハグを長い...
-
VB.NET Excelを読み込んでDataT...
-
VBの質問#if 0 then ってどう...
-
Do~Loopした回数をカウントしたい
-
VBAでCOPYを繰り返すと、処理が...
-
メルカリのメルカードで買い物...
-
インタラクティブの反対語は?
-
Loadイベント中にほかのイベン...
-
リョウ・・・量?料?
-
vba 空のデータをSplitする時の...
-
findは動くがfindnextがマクロ...
おすすめ情報