• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCELVBA 自動で表にカンマ・罫線を入れたい)

EXCELVBAで表にカンマ・罫線を自動で入れる方法

このQ&Aのポイント
  • EXCEL2013とWindows7で、特定の表にカンマ・罫線を自動で入れたい場合、VBAを使用することで実現することができます。
  • 担当者と区分をもとに、特定の列にカンマを表示させることができます。また、担当者ごとに太枠で囲むことも可能です。
  • ご忙しい中恐れ入りますが、ロジックを教えていただけると幸いです。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

最初、A~Jを何度も列だと間違えていました。そのため「A~Fまでカンマ表示」を失念してしまいました。 添付図をよく見ると「G~J」列は小数点2桁ですね。 一括にカンマを設定していた処理を担当者ごとにしました。 Sub 罫線()   Dim columnsCnt As Integer  '列数      Application.ScreenUpdating = False      Range("A1").CurrentRegion.Select   With Selection     columnsCnt = .Columns.Count     '罫線     .Borders.LineStyle = xlContinuous   End With   Dim rw As Long  '行カウンタ      With Range("A2")     While .Offset(rw, 0) <> ""       'カンマ(設定箇所を修正)       With Range(.Offset(rw, 2), .Offset(rw + 5, columnsCnt - 1))         .Style = "Comma [0]"       End With              With Range(.Offset(rw, 0), .Offset(rw + 9, columnsCnt - 1))         '担当者ごとに囲む         .Borders(xlEdgeLeft).Weight = xlMedium         .Borders(xlEdgeTop).Weight = xlMedium         .Borders(xlEdgeBottom).Weight = xlMedium         .Borders(xlEdgeRight).Weight = xlMedium       End With            rw = rw + 10     Wend   End With      Range("A1").Select   Application.ScreenUpdating = True End Sub

yakkun2338
質問者

お礼

nishi6さん、ご連絡ありがとうございました! ご教授いただきました方法で理想通りの結果になりました!! このたびは何度も細かなご説明いただきまして本当にありがとうございました!!助かりました。

その他の回答 (1)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

こんな感じでしょうか。標準モジュールです。(Excel2010) Sub 罫線()   Dim columnsCnt As Integer  '列数      Application.ScreenUpdating = False      Range("A1").CurrentRegion.Select   With Selection     columnsCnt = .Columns.Count     '罫線     .Borders.LineStyle = xlContinuous     'カンマ     .Offset(1, 2).Resize(.Rows.Count - 1, .Columns.Count - 2).Select     Selection.Style = "Comma [0]"   End With   Dim rw As Long  '行カウンタ      With Range("A2")     While .Offset(rw, 0) <> ""       With Range(.Offset(rw, 0), .Offset(rw + 9, columnsCnt - 1))         '担当者ごとに囲む         .Borders(xlEdgeLeft).Weight = xlMedium         .Borders(xlEdgeTop).Weight = xlMedium         .Borders(xlEdgeBottom).Weight = xlMedium         .Borders(xlEdgeRight).Weight = xlMedium       End With            rw = rw + 10     Wend   End With      Range("A1").Select   Application.ScreenUpdating = True End Sub

yakkun2338
質問者

補足

nishi6さん、ご連絡ありがとうございました。 お返事が遅くなりまして大変申し訳ございませんでした。 細かなロジックをご提示いただきましてありがとうございました! 早速試してみたのですが、私のやり方がまずいのか、区分A~Fのみカンマ表示にしたかったのですが、A~Jまで全てカンマが入ってしまいました・・・ 何度も申し訳ありません。。

関連するQ&A