No.1ベストアンサー
- 回答日時:
どうしてもIF文で判定したければ
Sub test01()
Dim i As Range
For Each i In Range("A1:H3000")
If i.Value <> "" And IsNumeric(i.Value) Then
i.Value = i.Value * 2
End If
Next i
End Sub
でも、これじゃ全セルを判定するので非効率では?
最初から範囲内の数値だけを対象にすればIFは不要です。
ただし、ひとつも数値がなければエラーになると思いますが。
Sub test02()
Dim i As Range
For Each i In Range("A1:H3000").SpecialCells(xlCellTypeConstants, 1)
i.Value = i.Value * 2
Next i
End Sub
数値がなくともエラーがでないようにするなら
Sub test03()
Dim i As Range
On Error GoTo line
For Each i In Range("A1:H3000").SpecialCells(xlCellTypeConstants, 1)
On Error GoTo 0
i.Value = i.Value * 2
Next i
Exit Sub
line:
MsgBox "指定範囲内に数値がありません。"
End Sub
出来ました!!ありがとうございます!
特にIFでやりたいわけではなく、IFしか思い浮かばなかっただけですので、下の式を使わせていただきました。
For Each i In Range("A1:H3000").SpecialCells(xlCellTypeConstants, 1)
のやり方は知らなかったのでとても勉強になりました。
数値が入ってないことはまずないのですが、
せっかくですのでエラー処理も一応入れておきます(笑)
また何かありましたらお願いいたします。
No.2
- 回答日時:
Dim r As Range
For Each r In Range("A1:H3000")
If r.Value <> "" And IsNumeric(r.Value) Then
' 2をかける処理 r.offset(0,1).Value = r.Value * 2
End If
Next r
もし数値が入力されているセルに限定するなら
For Each r In Range("A1:H3000").SpecialCells(xlCellTypeConstants, 1)
' 2をかける処理 r.offset(0,1).Value = r.Value * 2
Next r
でもよいでしょう。試してみてください。
できました。ありがとうございます。
SpecialCells(xlCellTypeConstants, 1)という式を自分は知らなかったので、とても勉強になりました。
またよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excleマクロ セル値の代入と文字列の結合について 3 2022/10/05 16:47
- Excel(エクセル) エクセルで書式設定とフィルタの組み合わせでうまく行かないのですが 4 2022/10/07 10:02
- Excel(エクセル) excel2013 色付きセルの値合計 3 2023/02/28 11:48
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) Excelのマクロで、特定のセルから順番に値を取得したい 5 2022/12/06 15:34
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
- Visual Basic(VBA) vba 隣のセルに値がある行だけ関数をコピー&ペーストしたい A1 100001 A2 100002 1 2023/01/28 14:29
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1コールだけ鳴るけど切れる電話...
-
相手側の携帯が電源切れてる時...
-
face book で女性の方からline ...
-
ラインナップとラインアップは...
-
「一番上、真ん中、下」を示す英語
-
LINE追加で「該当するユーザー...
-
いきなりラインのトークに「新...
-
生産ラインの品質を表す直行率...
-
遠くにいる友達とLINE交換する...
-
半年付き合ってきた彼女をブロ...
-
Lineを登録したことがバレました
-
python flask から fastapiへの...
-
法線(normal line)はなぜそう...
-
Windowsのバッチファイルで正規...
-
swift言語のprintln()関数で「p...
-
ある男子から、ライン追加され...
-
lineのワン切り、なぜ?
-
LINEで好きな人が「笑」を全然つ...
-
先輩のライン(男性)を追加した...
-
教えてください
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
相手側の携帯が電源切れてる時...
-
1コールだけ鳴るけど切れる電話...
-
LINE追加で「該当するユーザー...
-
よく05(04)lineって見かけるん...
-
face book で女性の方からline ...
-
いきなりラインのトークに「新...
-
Windowsのバッチファイルで正規...
-
ある男子から、ライン追加され...
-
ラインナップとラインアップは...
-
生産ラインの品質を表す直行率...
-
遠くにいる友達とLINE交換する...
-
先輩のライン(男性)を追加した...
-
「一番上、真ん中、下」を示す英語
-
LINEで好きな人が「笑」を全然つ...
-
法線(normal line)はなぜそう...
-
新しいクラスメイト全員のLINE...
-
着信拒否、ラインブロックと解...
-
swift言語のprintln()関数で「p...
-
既婚女性にラインを聞くことに...
-
質問です。 先日クラスの女子に...
おすすめ情報