セルにカッコを表示させたいのですが、どうしたらよいのでしょうか?
普通にカッコを入力すればよい話ですが・・・
できれば、常にカッコが表示されていて、
カッコの中の数値および文字列だけを自由に変更できるようにしたいのです。

書式設定を色々と試しましたが、思い通り結果を出す事ができませんでした。
数字を入力した時にはカッコが付きますが、
セルが未入力、および文字列の時には、カッコが表示されない、など・・・。

とりあえず、セルの幅にあわせて、オートシェイプの(大カッコ)を
描いてみたのですが・・・。
他の方法をご存知でしたら、是非教えて下さい。
よろしくお願いします。

A 回答 (4件)

未入力の場合もカッコを表示するとなると・・・



入力するセルの両側のセルにカッコを入力して、幅を狭くしていたらダメ?でしょうか。
    • good
    • 1
この回答へのお礼

ご解答ありがとうございます。
表示形式とかでなんとかなるものなのかな?
なんて思ったのですが・・・
それは無理みたいですね。
それがわかっただけでも、とてもよかったです。
両側のセルに入力・・・というのは思いつきませんでした。
ありがとうございました。

お礼日時:2001/07/29 20:13

こんにちは



 以下の手順でいかがでしょうか?

1.範囲を選択
2.Ctrl+1 (メニュー[書式]-[セル])
3.[表示形式]タブの[分類]を[ユーザー定義]に
4.[種類]に (* 0);(* -0);(* 0);(* @) と入力
5.Enter

参考URL:http://www2.odn.ne.jp/excel/waza/format.html#SEC22
    • good
    • 0
この回答へのお礼

数値について、「書式設定」の「ユーザー定義」はよく使うのですが
文字列もこんな風にすれば、カッコでかこむ事ができるのですね。
勉強になりました。ありがとうございます。
今回の一番の目的は
未入力のセルにもカッコを表示させたいという事なのですが、
色々な方からのアドバイスを頂きましたが、
やっぱり、書式設定では無理があるのかな?と改めて思いました。

お礼日時:2001/07/31 20:12

常にってのは無理ですけど、セル入力したときに、()が自動的に入力されるようにセルの表示形式で設定することはできますよ。


ただ、ユーザー定義の決まりごとを覚える必要ありますけど。
書式→セルの書式設定→表示形式タブ→ユーザー定義で、
種類のところを以下のように変えます。
"("#,##0")";[赤]"("-#,##0")"
(このあたりは、好きに設定できます。)

正の書式;負の書式;文字列の書式;ゼロの書式の順番で。
後半は省略することもできるので、
たとえば、
"("#,##0")";[赤]"("-#,##0")"

こんな風に設定すると、
数字のみに括弧がつきますよ。
この設定の意味は、正の書式だったら、
1000と入力したら、1,000と表示させ、
-1000と入力したら、フォントの色を、赤色で、
-1,000と入力させます。
(カンマも自動的に入るように設定してみました。)

数値のみでいいということでしたので。
数値が入力される前に確認できないのが難点ですけど。

ひとつのセルに、表示形式を設定したら、
あとは別の必要なセルにコピーすればいいとおもいますよ。

ユーザー定義の書き方は、
ヘルプの質問タブで、ユーザー定義と入力し、
表示形式で使われる書式記号というところを見てください。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
質問文の書き方が悪かったみたいで、申し訳ありません。
実は、数値についてのユーザー定義は、ある程度は・・・
せっかくアドバイスを頂いたのに、申し訳ありません。

お礼日時:2001/07/31 20:34

エクセルのこととして


カッコをいれたいセルのうえに、
テキストボックスを乗せて、セル幅にあわせてカッコをいれては
どうでしょうか?
これなら、セルに入力してもしなくても
カッコはそのままです。

図形

念のため印刷プレビューでカッコの位置や入力した文字の入り具合を
確認したほうがいいです。

私はある表の様式で何人とか何kgとかの単位を小さく書くときに
下のnishi6さんの回答のやり方のほかにも
よくテキストボックスで入れています。
    • good
    • 0
この回答へのお礼

とりあえず、図形(オートシェイプの大カッコ)を使っています。
図形までは思いつきましたが
テキストボックスという手もありましたね。
今度使ってみます。ありがとうございました。

お礼日時:2001/07/29 20:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qセルに最初からある文字列を表示させておいて、そのセルを選択したら、その文字列の後から3桁数字を入力できるようにしたい

タイトルが長くてすみませんm(_ _)m
エクセル(97)に関しての質問です。

例えば、セルの中に最初から「15-G」という文字列を
表示させておいて、(ダブルクリックして編集という
形じゃなくて)そのセルを選択しただけで、
その文字列の後から3桁の数字を入力できるように
したいのですがいい方法はないでしょうか?

他にやってみた方法で、ユーザー定義(私が考えた定義→「"15-G"@」)でセルに3桁の数字(例えば567)を入力しますと、「15-G567」というように表示させる事が出来たのですが、何も入力されてない時は当たり前ですが空白のままです。
出来れば、最初から「セルの中の始めに15-Gという文字列を」表示させておきたいのですが…

Aベストアンサー

diashun です。
諦めずに挑戦するお気持ち、敬意を払います。
さて、エラー箇所を特定するためにデバッグモードでVBAを動かしてみましょう。
1.「Sheet1」のVBE編集画面を開いてください。
「Private Sub CommandButton1_Click()」の行とプロジェクトツリーの境界で右クリックしてください。
これでその境界部分に茶色の●が表示され、「Private Sub CommandButton1_Click()」の行も茶色の帯がつきましたか?
これは「ブレークポイント」といい、プログラムの実行を任意に中断する場合に指定します。
2.Excelの「Sheet1」に戻り、「CommandButton1」をクリックします。(この時、コントロールツールボックスのデザインモードを終了しておいてください)
3.VBEの[Sheet1」のブレークポイントのところで黄色い帯が表示されてプログラムの実行が中断されていますか?
ここまで「OK」でしょうか?
4.次の行からプログラムの実行を継続させます。
「F8」キーを一回押してください。
黄色い帯が次行(Set_String1)へ移動しましたか?
さらに「F8」キーを押すと「Module1」の「Set_String1」プロシージャVBE画面へ遷移するはずですが、ここまで「OK」ですか?
5.「F8」キーを一回ずつ押して一行ずつ実行してください。
エラー箇所があれば何らかのエラーダイアログとメッセージが表示されるはずです。その時「終了する」と「デバッグする」のボタンも表示されるので「デバッグする」のボタンを押すと、エラー行の場所が黄色い帯で表示されますので、その行内容とエラー表示メッセージの文言をお知らせ下さい。

>「Module1」の所が紺色に反転しています・・・は関係ないと思います。

ただ念のため「ThisWorbook」「Sheet1」「Module1」のVBEが下記の通り間違いないか、再確認もしておいてください。
●「ThisWorbook」のコード
Option Explicit

Private Sub Workbook_Open()
Dim strDefAry() As String
Dim i As Integer
ReDim strDefAry(0 To 9) As String '仮に10種類の文字列(ランダムな文字)を登録します。

strDefAry(0) = "15-G"
strDefAry(1) = "11-A"
strDefAry(2) = "15-V"
strDefAry(3) = "10-H"
strDefAry(4) = "11-R"
strDefAry(5) = "13-Y"
strDefAry(6) = "19-X"
strDefAry(7) = "00-D"
strDefAry(8) = "01-W"
strDefAry(9) = "15-K"

For i = 0 To 9
Sheet1.ListBox1.AddItem strDefAry(i)
Next i

Sheet1.ListBox1.Visible = True
ThisWorkbook.Sheets(1).Activate

End Sub

●「Sheet1」のコード
Option Explicit

Private Sub CommandButton1_Click()
Set_String1
End Sub

●「Module1」のコード
Option Explicit

Public Sub Set_String1()
Dim strCell As String, lngRowNum As Long, strDefStr As String
Dim i As Integer

strCell = InputBox("入力する列を「A,B,C,・・・」と入力して下さい。", "列入力")
strDefStr = Sheets(1).ListBox1.Text
lngRowNum = ActiveCell.Row
Call Set_String2(strCell, strDefStr, lngRowNum)
End Sub

Public Sub Set_String2(strCell As String, strDefStr As String, lngRowNum As Long)
Dim i As Integer

Range(Cells(lngRowNum, strCell), Cells(lngRowNum, strCell)).Activate
Range(Cells(lngRowNum, strCell), Cells(lngRowNum, strCell)) = strDefStr
End Sub

あと、Excelの「Sheet1」に「CommandButton1」と「ListBox1」は貼り付けられていますね?
以上、またご連絡をお待ちします。
でも、お忙しいならいつでもいいですよ。
気長にお付き合いしますので、(^_^)

diashun です。
諦めずに挑戦するお気持ち、敬意を払います。
さて、エラー箇所を特定するためにデバッグモードでVBAを動かしてみましょう。
1.「Sheet1」のVBE編集画面を開いてください。
「Private Sub CommandButton1_Click()」の行とプロジェクトツリーの境界で右クリックしてください。
これでその境界部分に茶色の●が表示され、「Private Sub CommandButton1_Click()」の行も茶色の帯がつきましたか?
これは「ブレークポイント」といい、プログラムの実行を任意に中断する場合に指定します。
2....続きを読む

QA1セルにAと入力すると、A2セルに3000A3セルに2000A4セルに1000と表示させたい。

A1セルに「A」と入力する1回だけで、
A2セルに「3000」
A3セルに「2000」
A4セルに「1000」
A5セルに「合計数字」を表示させたいのですが、
式をご教授願いたいです。

よろしくお願いします。

Aベストアンサー

D1:G3
A500030001000
B500300130
C1200800300
A1にA,B,Cのどれかを入れる。
A2に =VLOOKUP($A$1,$D$1:$G$2,ROW(),FALSE)と入れて、
A4まで(G-D-1列数だけの行数)式を複写する。
結果
A1がBの場合A1:A4は
B
500
300
130

A1の空白の場合に対処して
=IF(A1="","",VLOOKUP($A$1,$D$1:$G$2,ROW(),FALSE))
が良いでしょう。
(既回答とほぼ同じ式ですが、1箇所違うところがあります。)

Qエクセルにてセルへ数値を入力時、事前に入力していた値との差を別のセルに表示させたいです。

エクセルにてA1のセルに数値を入力した場合(事前に入力していた値-入力値)の差を隣のセル(B1)に表示し、再びA1に入力した数値の差をそのまた隣のセル(C1)に表示、再びA1に入力した数値の差をそのまた隣のセル(D1)に表示、再び…
と繰返し入力した数値の差を右列へ順番に表示させていきたいのですが、どなたか方法を教えて下さい。

又、入力した時点の日付けも、差を表示させた下のセルに表示させる方法もお願いします。

Aベストアンサー

たとえばA20を作業セルとして利用するとして

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$1" Then

Cells(1, Cells(1, ActiveSheet.Columns.Count).End(xlToLeft).Column + 1).Value = Range("A1").Value - Range("A20").Value
Cells(1, Cells(1, ActiveSheet.Columns.Count).End(xlToLeft).Column).Offset(1, 0).Value = Date
Range("A20").Value = Range("A1").Value

End If

End Sub

でいかがでしょう

QExcel マクロ VBAで未入力セルエラーのメッセージ表示を、指定のセル名で表示したい

Excelで、特定の未入力セルがあると、Excelを閉じられない、かつ保存できないようにマクロで設定しました。(過去の質問で似たようなものがあったので、コピペしました)

メッセージボックスに未入力セルがあることを表示させているのですが、そのセル名を指定した名前で表示させたいです。自分なりに調べてみましたが、なかなか見つからず、皆様からのアドバイスを頂きたいです。

例えば日付を入れるセル、B1が未入力の場合、
「B1」が未入力です。
ではなく、
「日付」が未入力です。
と表示させたいです。

現在、以下のような形でVBA画面に入力しています。

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim k As Long
Dim str, buf As String
Dim myArray As Variant
myArray = Array("営業担当者名", "顧客名", "荷造運賃単価", "見積日", "確度") '←好みの数だけセル番地を格納する
For k = 0 To UBound(myArray)
If Worksheets("見積書兼注文通知書").Range(myArray(k)) = "" Then
str = WorksheetFunction.Substitute(Range(myArray(k)).Address, "$", "")
M = M + 1
buf = buf & str & ","
End If
Next k
If M > 0 Then
MsgBox "未入力の箇所があります。" & vbCrLf & Left(buf, Len(buf) - 1) & "セルが" & vbCrLf & "未入力です。"
Worksheets("見積書兼注文通知書").Activate
Cancel = True
End If
End Sub '

Private Sub Workbook_BeforeClose(Cancel As Boolean) 'この行から
Dim k As Long
Dim str, buf As String
Dim myArray As Variant
myArray = Array("営業担当者名", "顧客名", "荷造運賃単価", "見積日", "確度") '←好みの数だけセル番地を格納する
For k = 0 To UBound(myArray)
If Worksheets("見積書兼注文通知書").Range(myArray(k)) = "" Then
str = WorksheetFunction.Substitute(Range(myArray(k)).Address, "$", "")
M = M + 1
buf = buf & str & ","
End If
Next k
If M > 0 Then
MsgBox "未入力の箇所があります。" & vbCrLf & Left(buf, Len(buf) - 1) & "セルが" & vbCrLf & "未入力です。"
Worksheets("見積書兼注文通知書").Activate
Cancel = True
End If
End Sub

以上。
どこに、どのような文言を入れると私の行いことが実現出来るか教えていただきたいです。
宜しくお願いいたします。

Excelで、特定の未入力セルがあると、Excelを閉じられない、かつ保存できないようにマクロで設定しました。(過去の質問で似たようなものがあったので、コピペしました)

メッセージボックスに未入力セルがあることを表示させているのですが、そのセル名を指定した名前で表示させたいです。自分なりに調べてみましたが、なかなか見つからず、皆様からのアドバイスを頂きたいです。

例えば日付を入れるセル、B1が未入力の場合、
「B1」が未入力です。
ではなく、
「日付」が未入力です。
と表示させたい...続きを読む

Aベストアンサー

str = WorksheetFunction.Substitute(Range(myArray(k)).Address, "$", "")

str = myArray(k)
でいかがでしょうか?

Q一つのセルに文字列と数値を入力する場合の表示

エクセル2007で、
A1に「="合計:"&A2&"円"」、A2に「1,000,000」と入力されている場合、
A2の数値は3桁ごとに桁区切りして表示するよう設定しているのですが、A1には「合計:1000000円」と表示されています。
A1の表示も桁区切りを適用して「合計:1,000,000円」となるようにするにはどのようにすればよいでしょうか?

セルの書式設定→ユーザー定義で"合計:"#,##0"円"のようにしてできないこともないですが、
前述の方法のままでは不可能なのでしょうか?

調べても不明だったので、すみませんがよろしくお願いしますm(_ _)m

Aベストアンサー

A1セルには次の式を入力します。

="合計:"&TEXT(A2,"#,##0")&"円"


このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング

おすすめ情報