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

あるシートの中で、複数のセルを選択状態にします。
選択状態になっているセルは、文字が入力されているものとされていないものがあります。
文字が入力されているセルのみ、セルの外枠を罫線で囲むようにしたいのですが。
一括して処理したいのですが、やり方をおわかりになる方がいましたら教えて下さい。

A 回答 (6件)

こんな感じでしょうか?


範囲を選択してから実行すればOKです。
因みに空白以外の場合に罫線が引かれます。
文字列のみと言うのであれば、下記の「If i.Value <> "" Then」の部分を
「If VarType(i.Value) = vbString Then」に変えればいいです。

Sub test()
Dim MyRag As Range, i As Range
Set MyRag = Selection
For Each i In MyRag
If i.Value <> "" Then
i.Borders(xlEdgeLeft).LineStyle = xlContinuous
i.Borders(xlEdgeTop).LineStyle = xlContinuous
i.Borders(xlEdgeBottom).LineStyle = xlContinuous
i.Borders(xlEdgeRight).LineStyle = xlContinuous
End If
Next
End Sub
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
うまくいきました。

お礼日時:2006/02/23 20:50

もしかして…ですけど、条件付き書式でも、罫線の有無を選択できるので、対応が可能かもしれない… なんて、思ったりしました。



相対&絶対参照とかの指定次第ですけど
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2006/02/23 20:53

こんな方法もあります。


複数のセルを選択状態にします。
「編集」-「ジャンプ」で「セル選択」ボタンを押し、
[定数]を選びます。[文字]以外のチェックをはずしOKボタンを押します。
文字の入ったセルのみ選択されます。今状態で罫線の設定をします。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
うまくいきました。

お礼日時:2006/02/23 20:52

こんにちは。



>複数のセルを選択状態にします。
という条件になると、どうしても、マクロになってしまいますね。

'場所は、一般モジュールならどこでも可

Sub CirclingValuedCells()
  Dim c As Range
  Dim i As Variant
  Dim j As Variant
  Dim r As Range
  Set r = Selection
  If TypeName(r) <> "Range" Then Exit Sub
  Application.ScreenUpdating = False
  For i = 5 To 12
   r.Borders(i).LineStyle = xlNone
  Next i
  For Each c In r
   If Not IsEmpty(c.Value) Then
     For j = 7 To 10
      With c.Borders(j)
        .LineStyle = 1
        .Weight = 2 ' 線の太さ 2 以上
        .ColorIndex = 1 '色 black
      End With
     Next j
   End If
  Next c
  Application.ScreenUpdating = True
  Set r = Nothing
End Sub


なお、この種のマクロは、Weight と ColorIndex は、省略すると他人の環境ではうまくいかないことがありますから、省略することは出来ません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
うまくいきました。

お礼日時:2006/02/23 20:51

条件付き書式を使う方法もあります。



(1)複数のセル(今回は例としてA1~C4とする)を選択状態にする。
(2)メニューバー「書式(O)-条件付き書式(D)」をクリック
(3)左側のプルダウンメニューから「数式が」を選択
(4)右側のテキストボックスに「=NOT(ISBLANK(A1)」と記述する(複数選択したうちの一番左上のセルを(A1の代わりに記述する))。
(5)「書式(F)」ボタンをクリック
(6)「罫線」タブをクリックし、「外枠」をクリックし、OKボタンをクリック
(7)もう一度OKボタンをクリック



これでもできます。

ただ、これですと(1)で選択状態にしたセルに文字を書き込むと罫線が表示され、
消すと罫線が消えるようになります。
ですので、要望のものとは違うかもしれません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
うまくいきました。

お礼日時:2006/02/23 20:51

以下のマクロを実行すれば出来ると思います



Sub Macro1()
Selection.SpecialCells(xlCellTypeConstants, 3).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End Sub
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
うまくいきました。

お礼日時:2006/02/23 20:50

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