- ベストアンサー
Excel VBA For Each~Next構文についての質問
こんにちは。 VBA初心者のものですが教えてください。 ※Excel2003です 「Sheet2のC29:U29のセルについて 1より小さければ小数第2位まで表示 1以上であれば小数第1位まで表示」 の構文を作りたいのですが、 「実行時エラー438 オブジェクトは、このプロパティまたはメソッドをサポートしていません」 のエラーが出てしまい、実行できません。 作成した構文は以下の通りですが、どのように訂正すればよいか、 ご教示いただけますでしょうか。 よろしくお願いいたします。 Sub ケタ() ' Dim rngCell As Range For Each rngCell In Worksheets("Sheet2").Range("C29:U29") If rngCell.Value < 1 Then rngCell.Selection.NumberFormatLocal = "0.00" Else rngCell.Selection.NumberFormatLocal = "0.0" End If Next rngCell End Sub
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Selectionが余分です。
その他の回答 (1)
- kmetu
- ベストアンサー率41% (562/1346)
If rngCell.Value < 1 Then Sheet2.Select rngCell.Select Selection.NumberFormatLocal = "0.00" Else Sheet2.Select rngCell.Select Selection.NumberFormatLocal = "0.0" End If にしてください
お礼
できました! rngCell.Select を入れておくと selectionについて操作ができるんですね。 ありがとうございました。
お礼
できました~! selectionは選択したセル範囲を指すんですね。 ありがとうございました。