アプリ版:「スタンプのみでお礼する」機能のリリースについて

EXCELであるセルに数字を入力するとその数の個数だけ自動で罫線(太線でセルを囲む)を引くようにすることはできますでしょうか?
例)3と入力する。
口口口 という感じに。

A 回答 (9件)

#3です。


セルA1に数字が入り、その下A2から条件付き書式にするのであれば、
A2に
=A$1>=ROW()-1
と入力し、A3からした方向に向かってセルをコピーすればOKです。

>=$A1>=ROW()-1でいいのでしょうか?

$A1だと参照セルがずれてしまいますのでA$1にする必要があります。
    • good
    • 0
この回答へのお礼

うまくいきました。たいへん便利ですね。ありがとうございます。

お礼日時:2003/07/15 22:54

#7です。


回答の途中で送信してしまいました。

これが終わったら、
VBEを閉じて、Excelの画面に戻ります。

A1セルに、何か数字を入力してみてください。
B1から右のセルに、太線が引かれると思います。
    • good
    • 0

kevinsanさん こんばんは。



マクロを使うことでクリアできます。
わからないという方でもわかるように書いてみましたので、
説明の通りにやってみてください。
また、参考URLも参照してみてください。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=572180


Excelを新規作成で開いた状態にしてください。
開いているブックはすべて閉じておいてください。

Excelの画面で、Alt + F11キーを押してください。
「Microsoft Visual Basic」
という画面が立ち上がります。
(以下、この画面を「VBE」と略します)

VBE画面左側に、「プロジェクト - VBAProject」というツリー状の画面があると思います。
この中に、[Sheet1(Sheet1)]という項目がありますので、
これを右クリックして、「コードの表示」を選択してください。

画面右半分に、白い画面が現れると思います。
ここに、以下の「ここから」「ここまで」の間のコードをコピーしてみてください。


'=========ここから=========
Private Sub Worksheet_Change(ByVal Target As Range)
Dim varValue As Variant

'セルA1の値の取得
If Target.Address <> "$A$1" Then Exit Sub 'A1以外のイベントは無視
varValue = Range("A1").Value
Cells.Borders.LineStyle = xlLineStyleNone '罫線クリア

'数値変換
If IsNumeric(varValue) = False Then Exit Sub '数値以外の時は処理を抜ける
varValue = Int(CLng(varValue)) '強制的に整数に変換しています。

'エラーチェック
If varValue > 255 Then
MsgBox "数値が大きすぎます。", vbCritical
Exit Sub
ElseIf varValue = 0 Then
Exit Sub
ElseIf varValue < 0 Then
MsgBox "数値が小さすぎます。", vbCritical
Exit Sub
End If

'罫線処理
With Range(Cells(1, 2), Cells(1, varValue + 1)).Borders
.LineStyle = xlContinuous
.Weight = xlMedium
End With
End Sub
'=========ここまで=========
    • good
    • 0

#4のご回答と類似で


(1)B1:K30とかを範囲指定する。
   10X30のセルを対象にすることになります。
(2)書式-条件付き書式の設定-数式が-で数式を
「=$A1>COLUMN(B1)-2」とし、書式-罫線-外枠-OK
とする。
(3)これで一遍に10X30のセルに書式を設定できる。A列に数字を入れると、その数だけのセルに外枠罫線が引かれる。
    • good
    • 0

VBAで


ALTを押しつつF11を押す。
VBE画面が出て、左のVBAProjectのSheet1をダブルクリック。
GeneralのWorksheet、DeclarationはChangeをクリックし
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
がでるので、下記のIfからEndIfまでをコピーし
貼りつける。
Sheet1のA列に数字を入力すると、数だけの
セルの回りに罫線を引きます。
訂正・変更には対応していません。
線種はMediumですが結構太く見えます。
xlThickもあります。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
For i = 2 To Target + 1
Cells(Target.Row, i).Borders.LineStyle = xlContinuous
Cells(Target.Row, i).Borders.Weight = xlMedium
Next i
End If
End Sub
    • good
    • 0

 例えば、A1に数値を入れ、B1からK1を枠が込みの対象として、B1に条件付書式設定をすれば、罫線は掛けます。

(ただし線の種類は指定できますが、太さは指定出来ません)

 手順は、B1の「書式」→「条件付き書式の設定」で「数式が」「=$A1>COLUMN(B1)-2」のとき「書式」「罫線」「外枠」「OK」とした後、
 B1をK1までコピーします。
 A1に入力した数だけ(<10)枠が表示されます。
 同じく、B1をB3からK3までコピーすると、A3の数に対応します。
    • good
    • 0

セルA1に数字を入れてセルB1で書式(O)-条件付書式(D)で、数式がを選択。


数式のところに
=$A1>=COLUMN()-1
と入力し、書式ボタンを押し、罫線タブをクリック後罫線を選ぶ。
(太線はないようです。。。)

そして、B1をコピーしてB2~右横に向かってセルをコピー。

こうすれば、A1に入れた数字分セルに罫線がひかれます。

この回答への補足

ありがとうございます。成功しました。さらに行方向に罫線を引くには
=$A1>=ROW()-1でいいのでしょうか?
ちょっとやってみましたがうまくいきませんでした。

補足日時:2003/07/09 22:01
    • good
    • 0

引きたい形状にもよりますが、条件付き書式を使えばいいでしょう。



ただし、条件付き書式では太線は使えませんので、あらかじめ太線を引いていて、それを見えなくする、という方法になります。
    • good
    • 0

多分、マクロを組まないとできないでしょう。

    • good
    • 0

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