• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAで罫線を引きたいのですが)

エクセルVBAでアンダーラインを引く方法

このQ&Aのポイント
  • エクセルVBAを使用して10行目のA1からG10までのセルにアンダーラインを引きたいです。
  • 以下のVBAコードを使用して各セルに二重線で縁取りの罫線を引くことができますが、アンダーラインを引きたい場合はどのように修正すればよいでしょうか?
  • For Eachループを使用せずにアンダーラインを引く方法があれば、教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

アンダーラインですか?罫線ですか? 一応、ボトムの罫線ということで回答します。 With Range("A10:G10").Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With

maaaa
質問者

お礼

やってみたらできました ありがとうございました できたら、上罫線もおしえてもらったら、ありがたいの ですが ありがとうございました

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBA罫線

    VBA罫線 a = 9 With Range(Cells(3, 2), Cells(a, 5)) .Borders(xlEdgeTop).LineStyle = xlContinuous .Borders(xlEdgeBottom).LineStyle = xlContinuous .Borders(xlEdgeRight).LineStyle = xlContinuous .Borders(xlEdgeLeft).LineStyle = xlContinuous .Borders(xlInsideVertical).LineStyle = xlContinuous .Borders(xlInsideHorizontal).LineStyle = xlContinuous End With どこのワークシートかを指定する場合はどうしたらいいのでしょうか?

  • Excel VBAの罫線描画マクロをOpenOfficeCulcで実行。罫線が描画されない。

    Excel VBAで作成したマクロをOpenOffice.orgのCulcに単純移行して 実行してみたのですが、コードは実行されるのに罫線が描画されない 現象が発生しています。 罫線描画はCulcとExcelで互換が遅れている部分だと聞いていますが、 Culc独自のマクロで作成するしか回避方法はないのでしょうか? マクロは下記のような構成になっています。 REM ***** BASIC ***** Option VBASupport 1 Sub draw_line() With Worksheets("drawline") .Range("B2:E8").Borders(xlEdgeLeft).LineStyle = xlContinuous .Range("B2:E8").Borders(xlEdgeTop).LineStyle = xlContinuous .Range("B2:E8").Borders(xlEdgeBottom).LineStyle = xlContinuous .Range("B2:E8").Borders(xlEdgeRight).LineStyle = xlContinuous .Range("B2:E8").Borders(xlInsideVertical).LineStyle = xlContinuous .Range("B2:E8").Borders(xlInsideHorizontal).LineStyle = xlContinuous End With End Sub

  • エクセルVBA 作動させる度に罫線の種類を変える

    エクセル(2007) VBAで、マクロを作動させる度に選択した範囲の 罫線を変更したく、下記のようなマクロを組みましたが1種類の線しか書けません。。。 どのように修正すればよいか教えて頂きたいです。 何卒宜しくお願い致します。 ----------------------------------- Sub 罫線チェンジ() Select Case ActiveCell.Borders.LineStyle Case xlContinuous Selection.Borders.LineStyle = xlHairline Case xlHairline Selection.Borders.LineStyle = xlDot Case xlDot Selection.Borders.LineStyle = xlDouble Case xlDouble Selection.Borders.LineStyle = xlNone Case Else Selection.Borders.LineStyle = xlContinuous End Select End Sub -----------------------------------

  • エクセルVBAにおける罫線の色指定について

    エクセルVBAの初心者です。 使用機種はWindows VistaでExcel2007です。 後に示すコードではどうして("B4:H7")までの下罫線と ("C4:H8")までの左罫線が青色にならず、黒色のまま になるのでしょうか?("B4:H7")、("C4:H8")ともに 罫線の色は青色にしたいと思っています。 原因と対処方法をご存知の方ご教示願います。 画像も添付しておりますので、合わせてご参照ください。 Sub 日程表作成() Set WS1 = Worksheets("sheeT1") With WS1 .Range("B3") = "日" .Range("B3").Select End With Selection.AutoFill Destination:=Range("B3:H3") WS1.Range("B3:H3").Select With Selection.Borders(xlLeft) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 5 End With With Selection.Borders(xlTop) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 5 End With With Selection.Borders(xlBottom) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 5 End With With Selection.Borders(xlRight) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 5 End With '下線を二重線に変える Range("B3:H3").Select Selection.Borders(xlBottom).LineStyle = xlDouble WS1.Range("B3:H8").BorderAround Weight:=xlThick, _ ColorIndex:=5, LineStyle:=xlContinuous WS1.Range("B3:H8").RowHeight = 35 '日程表の中に横線を入れる WS1.Range("B4:H7").Select Selection.Borders(xlBottom).LineStyle = xlContinuous WS1.Range("B3:H8").BorderAround Weight:=xlThick, _ ColorIndex:=5, LineStyle:=xlContinuous '日程表の中に縦線を入れる WS1.Range("C4:H8").Select Selection.Borders(xlLeft).LineStyle = xlContinuous WS1.Range("B3:H8").BorderAround Weight:=xlThick, _ ColorIndex:=5, LineStyle:=xlContinuous '曜日のセルを塗りつぶす With WS1 .Range("B3:B8").Interior.ColorIndex = 38 .Range("C3:G8").Interior.ColorIndex = 19 .Range("H3:H8").Interior.ColorIndex = 19 .Range("B4").Activate End With End Sub

  • Excel VBA For Each Next構文内の別シートを対象とする方法

    こんにちは。 VBA初心者のものですが教えてください。 「sheet1のC29:U29とsheet2のC31:G31について 1より小さければ小数第2位まで表示する」 の構文を作成したいのですが、 下記の構文ではエラーが出てしまいました。 どのように訂正すればよいでしょうか? ※できればrangeプロパティを使いたいのですが、  cellsプロパティを使わなきゃできませんか? すみませんがご教示をお願いいたします。 Sub test() Dim myrange As Range For Each myrange In Worksheets("sheet1").Range("C29:U29"),Worksheets("sheet2").Range("C31:G31") If myrange.Value < 1 Then myrange.NumberFormatLocal = "0.00" End If Next myrange End Sub

  • VBA 罫線

    VBA 罫線 仮にb=15 cells(12,2)の下の線をCells(12, 3)~ Cells(2, b)まで同じ線を引く方法です。 Dim sh2 As Worksheet Set sh2 = Worksheets("test") a =12 今開いてるシートではなくて別のシートのを選択したいのですが エラーになってしまいます。 全てのcellsの前にsh2を入れればいけると思ったのですが駄目でした。 どーうしたらいいのでしょうか? Do Until (sh2.Cells(a, 1) = "合計") Or (sh2.Cells(a, 2) = "合計") With .Range(Cells(a, 3), Cells(2, b)).Borders(xlEdgeBottom) .LineStyle = Cells(a, 2).Borders(xlEdgeBottom).LineStyle .Weight = Cells(a, 2).Borders(xlEdgeBottom).Weight .ColorIndex = Cells(a, 2).Borders(xlEdgeBottom).ColorIndex End With a = a + 1 Loop

  • エクセル(vba)で困っています

    みなさんのお知恵を貸していただきたいです。 セルに入力されている「左下から右上」への二重線をカウントしたいのですが、どうすればよいでしょうか。 1本線だけならカウントできるようにしているのですが、二重線の場合も必要になってしまいました。それぞれ別にカウントしたいです。よい案がありましたら教えてください。 現在使用しているコード Function borderscount(範囲 As Range) Dim cnt As long Dim cAs Variant For Each c In 範囲 If c.borders(5).LineStyle > 0 Or c.borders(6).linestyle > 0 Then cnt = cnt + 1 End If Next c Application.volatile Borderscount = cnt End Function どうぞよろしくお願いいたします。

  • Excell2007 のVBAでのこと

    罫線を引くとき、マクロの記録をとった時 次のような記述が記録されました。 (VBA・マクロの勉強中です) Range("B6:G21").Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlDouble .ColorIndex = xlAutomatic .TintAndShade = 0 .Weight = xlThick End With この中の .TintAndShade = 0 はどのような働きをするのでしょうか? (何を指定する命令なのでしょうか?) ちなみにエクセル2003ではこの記述はなかったように思うのですが。 初心者ですので分かり易くお願いいします。 どうかよろしく・・・

  • VBA  エラー

    Sub 上下カット1() Dim MyR As Range, MyMax As Integer, MyMin As Integer Dim MX As Range, MN As Range With ActiveSheet MyMax = WorksheetFunction.Max(.Range("D15:P15")) MyMin = WorksheetFunction.Min(.Range("D15:P15")) For Each MyR In .Range("D15:P15") If MyR.Value = MyMax Then Set MX = MyR If MyR.Value = MyMin Then Set MN = MyR Next MX.Borders(xlDiagonalUp).LineStyle = xlContinuous MN.Borders(xlDiagonalUp).LineStyle = xlContinuous End With With ActiveSheet MyMax = WorksheetFunction.Max(.Range("D16:P16")) MyMin = WorksheetFunction.Min(.Range("D16:P16")) For Each MyR In .Range("D16:P16") If MyR.Value = MyMax Then Set MX = MyR If MyR.Value = MyMin Then Set MN = MyR Next MX.Borders(xlDiagonalUp).LineStyle = xlContinuous MN.Borders(xlDiagonalUp).LineStyle = xlContinuous End With End Sub を実行すると、 MX.Borders(xlDiagonalUp).LineStyle = xlContinuous の部分にエラーがでます。 対処方法を教えてください。

  • Excelでの罫線のみのコピーについて

    エクセルのVBAを使って罫線のみのコピーコマンドを作ろうかと考えています。選択範囲をForEachで、Selectionループをかけてとりあえず配列にパラメーターを取り込み、同じくループで、Rangeに貼り付けようと考えました。が、3次元配列の動的割り当てが上手く行きません。(ローカルウィンドで見ると、配列が定義されていませんが、エラーも出ません)何故でしょうか?どなたか教えて頂けないでしょうか?また、そんな方法よりも、こうした方がいいよ!!ってのがありましたら教えて頂けないでしょうか?宜しくお願いします。 Dim MyLine() As Variant Dim I As Integer ReDim MyLine(Selection.Count, 3, 2) I = 0 For Each myrang In Selection MyLine(I, 0, 0) = myrang.Borders(xlEdgeTop).LineStyle '上端 MyLine(I, 0, 1) = myrang.Borders(xlEdgeTop).Weight '上端 MyLine(I, 0, 2) = myrang.Borders(xlEdgeTop).ColorIndex '上端 I = I + 1 Next とりあえず上端のみを載せました。実際によ全てのパラメータを配列に取り込むつもりなので、3次元にしています。

専門家に質問してみよう