プロが教える店舗&オフィスのセキュリティ対策術

エクセル2007についての質問です。
ある条件のときに罫線の右下がり斜線を引きたいのですが、条件付書式ではできません。
マクロでしなくてはいけないことはわかったのですが、それ以上は進めなくて困っています。

セル(U2)に数字を打ち込んだらセル(I10:J11),(I12:J13),(I14:J15),(L10:Q11),(L12:Q13),(L14:Q15)(結合したもの)にIF関数とINDEX関数を組み合わせて他のシートからセル(U2)に対応するデーターを呼び出しています。
セル(I10:J11)に呼び出した数値が10未満ならセル(L10:Q11)に罫線で右下がりの斜線を入れ、10以上なら右下がりの斜線を消すということが行いたいです。(他の2つの組み合わせでも同様)

当方マクロを組んだことが全くなく本を読んで独学しているのですが、至急必要ということになり当方の技術ではなんともなりません。助けてください。

ちなみにセル(I10:J11)に書いてある関数は=VLOOKUP($U$2,別シート!$A:$I,3,0)
セル(L10:Q11)に書いてある関数は=IF(INDEX(別シート!$A$3:$K$400,$U$2,4)=0,"",INDEX(別シート!$A$3:$K$400,$U$2,4))
といったものです。

A 回答 (3件)

I10の内容でL10:Q11に右下がりの罫線を引いたり、消したりなら


下記の内容を、設定するシートのコード欄にコピー&ペーストして確認してください。
マクロの起動は、シート内でセルの移動で実行されます。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("I10").Value < 10 Then
Range("L10:Q11").Borders(xlDiagonalDown).LineStyle = xlContinuous
Else
Range("L10:Q11").Borders(xlDiagonalDown).LineStyle = xlNone
End If
End Sub
    • good
    • 0
この回答へのお礼

早速使わしていただきました!!

完璧に作動いたしました!!

セルを書き換えたところ他の二つでも完璧に作動して、感激の嵐です!!

本当にありがとうございましたm(_ _)m

お礼日時:2011/02/11 14:49

No.2です!


たびたびごめんなさい。

投稿した後No.1さんのコードを見て勘違いに気づきました。

罫線を入れたいのは セル(L10:Q11) でしたね!
どうも失礼しました。
もう一度コードを載せておきます。

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
Range("L10").Borders(xlDiagonalDown).LineStyle = xlNone
If IsError(Range("I10")) Then
MsgBox "データがありません"
Exit Sub
ElseIf Range("I10").Value < 10 Then
Range("L10").Borders(xlDiagonalDown).LineStyle = xlContinuous
End If
End Sub 'この行まで

何度もごめんなさいね。m(__)m
    • good
    • 0
この回答へのお礼

早速のお返事ありがとうございます!!
しかも2回も!!
こんな若輩者のためにありがとうございます!!m(_ _)m

お礼日時:2011/02/11 14:47

こんにちは!


セル(I10:J11)だけの処理で良いわけですよね?

一例です。
画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので
↓のコードをコピー&ペーストしてデータを入れ替えてみてください。

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
Range("I10").Borders(xlDiagonalDown).LineStyle = xlNone
If IsError(Range("I10")) Then
MsgBox "データがありません"
Exit Sub
ElseIf Range("I10").Value < 10 Then
Range("I10").Borders(xlDiagonalDown).LineStyle = xlContinuous
End If
End Sub 'この行まで

余計なお世話かもしれませんが・・・
結合されている セル(I10:J11) のセル番地は I10 でOKのはずです。

外していたらごめんなさいね。m(__)m
    • good
    • 0

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

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