- ベストアンサー
エクセルのセルにVBAで( )付の式
エクセルのVBAで作業していますが、1つの列の全ての行を ( )付けとしたいのですが、式をお教え下さい。 例えばD列に数値AB123と入れたら(AB123)となるようにしたいのです。 現在のVBA式にはD列のカラミはありません。 単純に追加すればいいと思いますので・・・・ よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> 数値AB123と入れたら(AB123)となるようにしたいのです。 AB123は数値ではありません。文字列です。 数値(数)は括弧でくくるとエクセルはマイナスと判断してしまいます。したがって数値の場合はセルの書式を文字列とすることで対処しました。 Sub test01() Dim lr As Long, i As Long lr = Cells(ActiveSheet.Rows.Count, "D").End(xlUp).Row For i = 1 To lr If Cells(i, "D") <> "" Then If IsNumeric(Cells(i, "D").Value) Then Cells(i, "D").NumberFormatLocal = "@" End If Cells(i, "D").Value = "(" & Cells(i, "D").Value & ")" End If Next End Sub
その他の回答 (2)
- tinu 2000(@tinu2000)
- ベストアンサー率40% (147/367)
こんにちは。 1 D列全部を選択します。 2 書式→セル→表示形式→ユーザー定義→ 3 種類の所で、"("@")" と入力 →OK と、言う事かな?外してたらゴメン! ではでは
補足
回答ありがとうございます。 関数ですとコピーしても関数が付いてくるので VBAでしたいと思った次第です。 値として貼り付けたらいいのでしょうけど、 予め組んでおきたいので・・・・
- toshi_2000
- ベストアンサー率30% (306/1002)
cells(gyo,4)="(" & cells(gyo,4) & ")"
補足
回答ありがとうございます。 早速試してみましたが、式のエラーになります。 そのまま貼り付けただけですが、 なにか他にしなけねばならないのでしょうか? すみません。教えてください。
お礼
早速試してみました。 ばっちりです。ありがとうございました。