A 回答 (5件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
こんばんは。
全体が、そのような内容でしたか。前の質問コーナーでも、パターンを書きましたが、まず、マクロの組み立てから言わないといけないかもしれません。何かを作るときに、スモール・サンプルで、実験してから実際のコードに入れたほうがよいです。
>データを会社から持ち帰れないので、曖昧な記憶なのですが、
VBAもひとつの言語表現です。自分が何かしたいと思うことは、コンピュータに分かる言語に置き換えることです。未だ、表現が未熟な場合は、とてもコンピュータにも人にも通じません。表現が思ったように出来ない場合は、代わりに日本語で伝えないといけません。私は、本来は語学が専門です。一種の翻訳と同じことだと思います。
・何が誤りなのか、意味が分かりません。
・何をもって該当する種別がありません、とするか分かりません。
一般的には、このような方法では、Select Case の、セルのValue プロパティでは、取れません。理由はあるのですが、小さな積み重ねの経験で覚えるしかありません。
Select Case cells(i,2)
Case "001"
Do until cells(i+1,1) <> ""
If cells(i,3) <> i then
Msgbox "データが誤りです"
End If
i=i+1
Loop
もう少し基本的なVBAの表現を使いこなせたほうがよいのではないかと思います。ただ、会社でそういうコードを書くことが許されるなら、OJT をしていけばよいと思います。
練習マクロと実践マクロは、まったく違います。
まず、基本的な話からです。
>「次の行の項目番号が空白でなくなるまで」としようとしたのですが、実際実行してみたら、次の項目番号以降まで進んでしまいました。
採取は練習用コードです。
'-------------------------
Sub renTest1()
'練習用
Dim i As Long
i = 1
Do While i <= 10
If Cells(i, 1).Value = "" Then
MsgBox Cells(i, 1).Address & "は空白です。", vbInformation
End If
i = i + 1
Loop
End Sub
'-------------------------
'実践のコード(練習用とは、このように違います)
Sub jituTest1()
Dim rng As Range
Dim c As Variant
Dim i As Long
With ActiveSheet.UsedRange.Columns(1)
.Value = .Value ' "" を削除
Set rng = .SpecialCells(xlCellTypeConstants, 23)
End With
'rng.Select ''セレクトされた内容を確認
For Each c In rng
If IsNumeric(c.Value) Then
'サブルーチンに飛ぶ
End If
Next c
Set rng = Nothing
End Sub
No.1
- 回答日時:
こんばんは。
ご質問は、こちらがいろいろ考えて回答していますが、それをそのままにしてはいけません。新たに質問するなら、前のものを処理して締めてからにしてください。
http://oshiete1.goo.ne.jp/qa5036148.html
情報が多ければ多いほど解答に近くなります。前回を含めて、もう少し、全体の構造が分かるように書いてほしいです。そうでなければ、ワークシートが壊れているという回答にしか結びつかなくなります。
質問の種類は、初歩の初歩です。それが上手く行かない場合は、手順に自体に問題あるわけですが、本来、その種の回答は、したくないものです。
今回は、おそらく、どうやら、モジュールの間違いだと思います。
ひとつをみる、ウォッチウィンドウではなく、ローカルウィンドウで全体をみてください。すぐに間違いに気が付きます。ウォッチウィンドウは、もう少しレベルを上げてからでもよいと思います。
コードが書かれている場所は、標準モジュールか確認してください。
この回答への補足
度々ご迷惑をおかけして、申し訳ありません。
もう1つの質問とは別のマクロなのですが、こちらはスペースや改行が原因ではないのかと思い、質問させていただきました。
もし、同じ原因でしたら、申し訳ありません。
データを会社から持ち帰れないので、曖昧な記憶なのですが、
やりたいこととしては、次のようになります。
ある列に項目番号があり、同じ項目が数行ある場合は、次の項目まで、項目番号は記入されていません。
同じ項目がどこまでかを判断させるのに、「次の行の項目番号が空白でなくなるまで」としようとしたのですが、実際実行してみたら、次の項目番号以降まで進んでしまいました。
項目番号 種別
1 001 1
2
3
2 005 5
10
3 010 10
20
例えば、
Do until i<50(データ範囲)
Select Case cells(i,2)
Case "001"
Do until cells(i+1,1) <> ""
If cells(i,3) <> i then
Msgbox "データが誤りです"
End If
i=i+1
Loop
Case "005"
Do until cells(i+1,1) <> ""
If cells(i,3) <> i*10
Msgbox "データが誤りです"
End If
i=i+1
Loop
Case "010"
Do until cells(i+1,1) <> ""
If cells(i,3) <> i*5
Msgbox "データが誤りです"
End If
i=i+1
Loop
Case Else
Msgbox "該当する種別がありません"
i=i+1
End Select
Loop
実際のコードとは違いますが、こんな感じでダメだったのですが、これでわかりますでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Excel(エクセル) Vba エクセルマクロで、 A列の、A1セルからA10セルに空白のある行を削除する、のは Range 3 2022/11/05 17:44
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Excel(エクセル) エクセル表作成について 5 2023/03/12 13:25
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
このQ&Aを見た人はこんなQ&Aも見ています
-
餃子を食べるとき、何をつけますか?
みんな大好き餃子。 ふと素朴な疑問ですが、餃子には何をつけて食べますか? 王道は醤油とお酢でしょうか。
-
一回も披露したことのない豆知識
あなたの「一回も披露したことのない豆知識」を教えてください。 「そうなんだね」と「確かに披露する場所ないね」で評価します。
-
とっておきの手土産を教えて
お呼ばれの時や、ちょっとした頂き物のお礼にと何かと必要なのに 自分のセレクトだとついマンネリ化してしまう手土産。 ¥5,000以内で手土産を用意するとしたらあなたは何を用意しますか??
-
牛、豚、鶏、どれか一つ食べられなくなるとしたら?
牛肉、豚肉、鶏肉のうち、どれか一種類をこの先一生食べられなくなるとしたらどれを我慢しますか?
-
【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
【お題】 ・このサンタクロースは偽物だと気付いた理由とは?
-
空白セルを空白と認識しない?
Excel(エクセル)
-
エクセル マクロで転記したら空白なのに何か存在する !
Excel(エクセル)
-
数式の結果が空白の時の空白扱い
Excel(エクセル)
-
-
4
ExcelVBAで、数式を含むセルを値貼り付けしたセルをCountAで取得すると空白と認識されない
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Wordの差し込み印刷で空白行が...
-
Word ○(まる)で表示される空白
-
LINEのこの空白ってどんな意味...
-
マクロ 空白セルまで繰り返す
-
INDEXとMATCH関数で#N/Aが出る...
-
bashでの空白と空文字の判断
-
Excel関数で90%から110%の間を◎...
-
エクセルでフッターに空白を入れる
-
エクセルで上の行の値を自動的...
-
「 - 」と「 _ 」 の違い
-
PowerPointの表内のカンマ
-
エクセルでエンターを押すと隣...
-
エクセルでハイパーリンクのコピー
-
エクセルの計算式でコンマを付...
-
EXCELでタイトル行と一番下の行...
-
EXCEL 連動したドロップダウン...
-
【VBA】PDF出力に任意のファイ...
-
エクセル 数式の無効化
-
エクセルでleft関数の結果が表...
-
16桁以上の「0」に変換されてし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
LINEのこの空白ってどんな意味...
-
Wordの差し込み印刷で空白行が...
-
Word ○(まる)で表示される空白
-
INDEXとMATCH関数で#N/Aが出る...
-
エクセルでフッターに空白を入れる
-
「 - 」と「 _ 」 の違い
-
latexで、行の先頭に空白を入れ...
-
アクセスのクエリで空白を0と...
-
Excel計算式が入ってるセルを空...
-
ちょっと特殊な連続印刷のマク...
-
マクロ 空白セルまで繰り返す
-
bashでの空白と空文字の判断
-
VBA ""が認識されないのはなぜ...
-
エクセルで1つでも×か空白があ...
-
Next構文で何もないときはメッ...
-
アクセス IDが空白の時、メッセ...
-
エクセルで上の行の値を自動的...
-
エクセルの質問ですが、例えばA...
-
Wordの文字数カウント機能のス...
-
【Excelマクロ】もっと頭の良い...
おすすめ情報