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

Excel2003のVBAを使用し、10行おきに太い罫線をセルの下側に引きたいのですが、ご存知な方教えて頂けないでしょうか?

出来る事なら、セルの中に×が入っている行は自動的に省いて(選ばず)10行おきに罫線を引きたいと思っています。

A 回答 (3件)

No.2です。



>10行目の行全体に罫線が引かれるようコーディング頂けると大変助かります。
とありましたので・・・

本来であればデータがない列まで罫線は必要ないであろうと思い
データが入っている最終列を取得して、そこまでの列に罫線を引くようにしていました。

ご希望はデータがあるなしに関わらず最終列(Excel2003の場合はIV列)まで罫線を引きたい!
というコトですね!

↓のコードに変更してみてくささい。

Sub Sample2()
Dim i As Long, cnt As Long, c As Range
Application.ScreenUpdating = False
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
Set c = Rows(i).Find(what:="×", LookIn:=xlValues, lookat:=xlPart)
If c Is Nothing Then
cnt = cnt + 1
If cnt = 10 Then
With Rows(i).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
cnt = 0
End If
End If
Next i
Application.ScreenUpdating = True
End Sub

今度はどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

早速のご教示、有難うございました。

コーディング頂いた内容に間違いありません。
問題なく起動しました。

本当に助かりました。

お礼日時:2013/06/23 19:41

こんにちは!


横からお邪魔します。
データは1行目からあるとします。

Sub Sample1()
Dim i As Long, j As Long, cnt As Long, c As Range
j = ActiveSheet.UsedRange.Columns.Count
Application.ScreenUpdating = False
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
Set c = Rows(i).Find(what:="×", LookIn:=xlValues, lookat:=xlPart)
If c Is Nothing Then
cnt = cnt + 1
If cnt = 10 Then
With Cells(i, 1).Resize(1, j).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
cnt = 0
End If
End If
Next i
Application.ScreenUpdating = True
End Sub

こんな感じではどうでしょうか?m(_ _)m

この回答への補足

ご回答頂き有難うございます。

ただ、コーディング頂いた内容ですと、10行目の一列のみに罫線が引かれた状態になります。
10行目の行全体に罫線が引かれるようコーディング頂けると大変助かります。

ご面倒かと思いますが、今一度ご教示頂けますでしょうか?

補足日時:2013/06/23 15:04
    • good
    • 0

例えば「セルの中に×が入っている行は自動的に省いて」というのがA10、A20などに入力されている場合は罫線を引かないという意味であれば、以下の様にしてみてください。



表の具体性がなかったので、A列の最終行まで罫線を引くものとし、行全体に罫線を引くものとています。

Sub macro()
Dim C As Range
For Each C In Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
If C.Row Mod 10 = 0 And C.Value <> "×" Then
C.EntireRow.Borders(xlEdgeBottom).Weight = xlThick
End If
Next C
End Sub

この回答への補足

ご回答頂き有難うございます。

ただ、コーディング頂いた内容で試してみたのですが、×もカウントされてしまいます。
説明が不十分だったと反省しておりますので、もう少し詳しく質問内容を補足致します。

例えば,A列に567467474H4と数字やアルファベットが11個並び、K列の10行目に×が入っていた場合、A列10行目に入っているHをカウントせず、A列の11行目に罫線を引きたいのです。

A列の最終行まで罫線を引き、行全体に罫線を引くのはご回答頂いた内容で間違いありません。

お手数ですが、今一度ご教示いただけますでしょうか?

補足日時:2013/06/23 08:54
    • good
    • 0
この回答へのお礼

ご回答頂き有難うございました。

VbA初心者ですので、またお世話になる事があるかと思います。
今後とも宜しくお願いいたします。

お礼日時:2013/06/23 19:44

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

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


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