F列に文章が入力されていればM列に”1”の値を入力するという風にしたいのですが、入力有なのにカウントされない行がいくつかあります。理由と解消方法を探しているのですが、自力では難しそうなので、どなたか思い当たることがあれば、教えていただけませんでしょうか。
該当部分
↓
prefSh.Activate
'M1のセルにタイトル記入
Cells(1, 13).Value = "入力あり"
'入力されている場合は"1"を右方向に7つ先のセルに入力
Dim 列 As Long, 行 As Long
列 = 6 '調査対象セルの列番号
For 行 = 2 To workEndR '行番号2から最終行まで
If Cells(行, 列) <> "" Then '空白セルでないなら
Cells(行, 列).Offset(0, 7).Value = "1" 'の右方向に7つ先のセルに1と表示
End If
Next '繰り返す(Forへ戻る)
ちなみに、このカウントされない行たちに別の目的(B列を検索値にしてA列の値を転記)でFindメソッドを使おうとしてもエラーになります。他の行では上手くいきます。A列やB列のデータの型を調べても、検索元と検索先で数値と文字列の不一致などは起きておらず、なぜこのいくつかの行だけ上手くいかないのか、上記の処理ができないことと併せて、2重に悩んでおります。
No.7ベストアンサー
- 回答日時:
>区切り位置を変更したらできました!
良かったです。
前段コード、値に問題があったのでしょうか?
どのような表組みでどんな値だとそうなるのか興味はありますが、
それは、またの機会があればと思います。
区切り位置の操作のVBAコードは、マクロの記録でも記録できると思います
決まった操作であれば、オプションが多いのでデフォルトを削除すれば良いと思います。
また、検索などで調べるのであれば、TextToColumns メソッドなどで調べれば、すぐに導入できると思います。
最後までご丁寧に教えてくださり、ありがとうございます。
アドバイスに従って、やってみます!
オリジナルで開発していただいたシステムから吐き出したCSVを、VBAでEXCELに取り込んだ(シート追加した)ところ、このような一部不具合が生じておりました。
元データがCSVだからかもしれませんね・・
また、質問の「ちなみに〜」以降のところも勉強しながらFindからDictionaryに書き換えている最中で、そちらもまた詰まっているので、別途改めて質問する予定です。もしよろしければ、そちらもよろしくお願いいたします。
No.6
- 回答日時:
#5、野暮用で切りましたが、連続で申し訳ないです。
結合セルなんて落ちは無いですよね
結合セルがあるようであれば、
If .Cells(行, 列).MergeArea(1) <> "" Then
かな?
たくさん案を出していただき、ありがとうございます。
こちらのヒントをいただきセルを見直したところ、つながっているように見えるが結合セルではなかったので、(手動で)区切り位置を変更したらできました!
本当に助かりました。(そして、こんな結末で申し訳ありません)
データ>区切り位置の手順も、手動でやらずに済むように、VBAをさらに調べてみます。本当にありがとうございました!
No.4
- 回答日時:
#3です
使用されていないと言う事ですね。
空白とありますが実は改行コードやスペースがあるとかではないでしょうか?
Sub a()
Dim 列 As Long, 行 As Long
列 = 6 '調査対象セルの列番号
With ActiveSheet
For 行 = 2 To .Cells(Rows.Count, 6).End(xlUp).Row
.Cells(行, 列) = Replace(Replace(Replace(.Cells(行, 列).Text, Chr(10), ""), " ", ""), " ", "")
If .Cells(行, 列) <> "" Then '空白セルでないなら
.Cells(行, 列).Offset(0, 7).Value = "1" 'の右方向に7つ先のセルに1と表示
End If
Next '繰り返す(Forへ戻る)
End Sub
有った場合支障があるといけないのでコピーシートで試してください。
ちなみに"1"はExcelで数値にされちゃいそうですが、ご質問とは関係ありませんね。
No.3
- 回答日時:
こんにちは、
コードに問題は、無いように思いますが、
>Findメソッドを使おうとしてもエラー との事なので、
これは、すべて想像(推測)の世界ですが、、可能性を考えました。
先ず、On Error Resume Next を使用していませんでしょうか?
使用していないのなら、以下はすべて意味がありませんので読み飛ばしてください。
使用している場合は、参照元、出力先に保護や入力制限が設定されていないでしょうか?
シートに保護がかかっていて、不具合セルにロックがかかって要るなど・・
この条件なら、空白以外で処理をしようとした時、セルの保護によりエラーが発生して入力されず、次の処理に進み、結果 値があるのに出力されない結果になると思います。。
ご回答ありがとうございます。
今回、On Error Resume Nextは使用しておりませんでしたが、使用すると上記のような事象が起こる可能性があるということを知ることができました。
Findを使うと検索に引っかからない場合があるようなので、配列など他の記載方法を勉強して、試みてみます。
引き続きアドバイスは募集しておりますので、また何か良い方法がありましたら、宜しくお願いいたします。
No.1
- 回答日時:
該当セルに半角のスペース又は全角のスペースがあると、空白セルと判定されません。
If Cells(行, 列) <> "" Then を
If Trim(Cells(行, 列).value) <> "" Then
とされてみてはいかがでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) セルS2に入力した「月」と一致したB列の右隣へセルS110の値を転記する下記マクロを実行するとエラー 2 2022/12/06 17:32
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル マクロ オートフィ...
-
A1に入力された文字列と同じ文...
-
エクセルで特定の文字列が入っ...
-
AのセルとB行を比較して、一致...
-
結合されたセルをプルダウンの...
-
[EXCEL]ボタン押す→時刻が表に...
-
エクセル 上下で列幅を変えるには
-
特定の文字がある行以外を削除...
-
エクセルで昨日までの日付デー...
-
VBAで色の付いているセルの行削除
-
罫線の斜線を自動で引くマクロ
-
【Excel関数】UNIQUE関数で"0"...
-
色付き行の非表示について
-
エクセル マクロで数値が変っ...
-
Excel グラフのプロットからデ...
-
Excel 時刻の並び替え
-
完全一致したら代入するマクロ...
-
excelのデータで色つき行の抽出...
-
excel 小さすぎて見えないセル...
-
エクセルのセルに指定画像(.jpg...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
【Excel関数】UNIQUE関数で"0"...
-
エクセル マクロ オートフィ...
-
[EXCEL]ボタン押す→時刻が表に...
-
AのセルとB行を比較して、一致...
-
特定の文字がある行以外を削除...
-
エクセル 上下で列幅を変えるには
-
エクセル マクロで数値が変っ...
-
Excel グラフのプロットからデ...
-
excelのデータで色つき行の抽出...
-
結合されたセルをプルダウンの...
-
アクティブになっている行をマ...
-
VBAで色の付いているセルの行削除
-
セルの色によって条件文をつけ...
-
excel 小さすぎて見えないセル...
-
電話番号の入力方式が違うデー...
-
Excelでカタカナ・ひらがな・英...
-
エクセルVBA 最終行を選んで並...
-
EXCELマクロを使い、空白行では...
-
EXCELで最後の行を固定
おすすめ情報