
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
こんにちは。
それでは、ちょっと、話を元に戻しまして、基本的なコード・パターンをこちらか提示します。
参考本はいくつかあるのですが、入門用のテキストと実践用のコードとは違います。
失礼ですが、個々の部分の問題でいくら質問されても、回答者側の技術的なレベルはエスカレートするか、回答者が放り出すだけで、現実的な解決とはかけ離れていくような感じがします。
上手く行かないときは、その部分だけの「スモール・サンプル」を抜き出してシュミレートしてみることがコツです。掲示板では、質問として与える情報が十分に与えられないのです。分かっていれば、それを提示できても、分からないから、そこは見えないわけです。
それから、Excelは、Excel VBAのスタイルがあって、VBスタイルとは違います。Excel VBAの経験が十分でない人に教わったところで、トンチンカンになるだけだと思います。ここの掲示板では、そのような人も多いです。
私は、["○"] ["1"][Empty] この三つの判定は、慣れないと難しいと思います。
簡単だと思うのは、Excel VBAが詳しくない人です。特に、数字とは何か、Empty とは何か、ということを追求していない人がほとんどです。
Basic なら簡単な問題でも、Excelでは、["1"]は、データ型のキャスティングが起きて、おそらくは、[1]になってしまいます。
こちらで、シミュレートします。
以下のコードは、簡単だと思うかもしれませんが、なぜ、Text プロパティを使うのかとか、経験ないと出来ません。普段、私は、このようなコードは書きませんが、基本的なところは押さえているつもりです。
表は、C1からの数式 =IF(ISBLANK(A2),"Empty",CODE(A2)) となっています。
// Case " ", " ": .Cells(i, 2).Value = "なし"
半角空白, 全角空白が入っています。
-----------------------------------------------
Sub Test1()
Dim i As Long
With Worksheets("Sheet1")
For i = 1 To .Range("A65536").End(xlUp).Row
Select Case .Cells(i, 1).Text
Case "1": .Cells(i, 2).Value = "いち"
Case "○": .Cells(i, 2).Value = "まる"
Case "": .Cells(i, 2).Value = "なし"
Case " ", " ": .Cells(i, 2).Value = "なし" '半角と全角の半角が併記してある
Case Else: .Cells(i, 2).Value = "その他"
End Select
Next i
End With
End Sub

No.5
- 回答日時:
こんばんは。
ご質問の内容では、何をしているのか、空のセルを探しているのか、本来の目的が分かりません。マクロの ="" というのは、長さ0の文字列と、本当のEmpty とは区別が付きません。フィルタでも、長さ0の文字列も、Empty も区別は付きません。
マクロでは、="" と一致しないというのは、どういう現象が起きているのか、こちらが当てることは不可能だと思います。とはいえ、ClearContents を使いたくないのでしたら、空白と思えるセルに対して、ワークシートの関数の=CODE(A1) のように、文字コードを取ってみればよいのではありませんか?または、LENB(A1)で長さを取ればよいと思います。
それと、まれに、シートが壊れていると、そういう現象が現れるはずです。
この回答への補足
項目に対して、"○"とか"1"とか何かしら記入されているか、何も記入されていないかを判断したいのです。
フォーマットが決まっていない不特定の既存ファイルに対応するマクロを組みたいので、ClearContentsをどう使えばよいかわかりません。
CODEはVBAではASCを使えばよいのでしょうか?
すみません。使い方がよくわかりません。
LENBはば、スペースや改行は含まれないのですか?
初心者で申し訳ありません。
よろしくお願いします。
No.4
- 回答日時:
こんばんは。
If Cells(i,j)<>Empty Then
という 'Empty'というのは、Variant 型の変数を使っていない状態のことで、ワークシート上では、あまり意味がないと思います。別に間違いではないけれども、もし、Empty を調べるなら、'IsEmpty'を使うほうがよいのですが、本当に、Empty(空)の状態にするなら、'ClearContents' を使うほうがよいのではないかと思います。「""(長さ0の文字列)」は、何も入っていない状態ではありません。
Trim は、文字の初めと終わりの空白値を取り去るわけですね。それには、数は関係がありません。
果たして、それだけで良いのでしょうか?例えば、文字列の間の空白値は取ることができません。
この回答への補足
ご説明ありがとうございます。
実は、今日試してみたのですが、Trimとreplaceで改行を除いただけでは、うまくいきませんでした。
フィルタをかけたときには、空白セルに該当するのに、なぜマクロでは""と一致しないのでしょうか。
No.3
- 回答日時:
空白(半角、全角)はTrimで取り除くことができます。
(多分、セル内改行も同時に取り除いておいた方がよいのではと思いますが…)
改行もの除くなら、
If Replace(Trim(Range("A1").Text), Chr(10), "") <> "" Then
みたいな判断を行えばよろしいかと思います。
改行は判断にいれなくてもよいのなら、Trimだけでいけるでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Visual Basic(VBA) 指定列最終行までのスペースを改行するVBAについて 2 2022/06/01 19:50
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Excel(エクセル) 列の複数ある空白セルを飛ばして、セルに並べて表示したい 3 2023/02/12 16:49
- Excel(エクセル) エクセル表作成について 5 2023/03/12 13:25
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
- Excel(エクセル) WORKDAY関数 4 2023/06/08 13:23
このQ&Aを見た人はこんなQ&Aも見ています
-
見学に行くとしたら【天国】と【地獄】どっち?
みなさんは、一度だけ見学に行けるとしたら【天国】と【地獄】どちらに行きたいですか? 理由も聞きたいです。
-
いちばん失敗した人決定戦
あなたの「告白」での大失敗を教えてください。
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
コーピングについて教えてください
皆さんはストレスを感じたとき、どのような方法や手段、テクニックで対処していますか?
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
数式の結果が空白の時の空白扱い
Excel(エクセル)
-
もしセルが#N/A"なら~をする・・・には?"
Excel(エクセル)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
6
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
7
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
8
エクセルのマクロ(VBA)の変数でスペースを認識しません
Excel(エクセル)
-
9
空白セルを空白と認識しない?
Excel(エクセル)
-
10
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
11
マクロの「Rangeメソッドは失敗しました’Globalオブジェクト」エラーの解決方法について
Excel(エクセル)
-
12
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
13
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
14
エクセルVBAのIf,Then 構文でOr条件とAnd条件の結合方法?
Excel(エクセル)
-
15
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
16
Excel-VBA>コントロールをグレイアウトするには?
Excel(エクセル)
-
17
VBA 半角スペースを入れるには...
その他(Microsoft Office)
-
18
エクセルでVBAで範囲に対してTRIM関数を適用したい
Access(アクセス)
-
19
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
20
VBAを何回も作り直して、容量が増えた
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
数式による空白を無視して最終...
-
ピボットテーブルで空白セルの...
-
Excel:関数が入っているセルに...
-
エクセルでCSVを編集するとき、...
-
Excelで、入力文字の後に自動で...
-
Excel > ピボットテーブル「(空...
-
エクセルで上の行の値を自動的...
-
エクセル 連番が途切れていると...
-
excel2010 空白セルにのみ貼り...
-
空白セル内の数式を残したまま...
-
《Excel2000》SUMPRODUCT関数で...
-
「データ要素を線で結ぶ」がチ...
-
vlookup にて、返す値が、空白...
-
【Excel】 csvの作成時、空白セ...
-
エクセルで空白文字の前後を入...
-
エクセルのグラフで式や文字列...
-
VBA スペースが入力されて...
-
関数TRANSPOSEで空白セルを0に...
-
【Excel】 Ctrl+方向キー で空...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
エクセルでCSVを編集するとき、...
-
Excel > ピボットテーブル「(空...
-
数式による空白を無視して最終...
-
Excelで、入力文字の後に自動で...
-
「データ要素を線で結ぶ」がチ...
-
Excel:関数が入っているセルに...
-
ピボットテーブルで空白セルの...
-
エクセル 連番が途切れていると...
-
空白セル内の数式を残したまま...
-
vlookup にて、返す値が、空白...
-
エクセルで、「複数のセルの中...
-
excel2010 空白セルにのみ貼り...
-
関数TRANSPOSEで空白セルを0に...
-
エクセルのIF関数で、隣のセル...
-
【Excel】 csvの作成時、空白セ...
-
形式貼り付けの「空白を無視す...
-
エクセルで上の行の値を自動的...
-
エクセルのグラフで式や文字列...
-
vlookupの結果が0になるセルと...
おすすめ情報