Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 10 Pro : Excel 2016)
セルに対して先にフォーマットを決めておき、該当セルに適用したい
投稿日時: 23/05/31 17:41:22
投稿者: discdata

お世話になります
VBAから、excelのワークシートに数値を記入しています。
 
合計数の表示フォーマットが決まっているとします。
 
'objwsはワークシートオブジェクト objWs.cells(1, 1)は1つめの合計数
objWs.cells(1, 1).Interior.Color = rgb(0,255,255) '色適用
objWs.cells(1, 1).HorizontalAlignment = xlRight '右寄せ
objWs.cells(1, 1).Font.Bold = True '太字
objWs.cells(1, 1).NumberFormatLocal = "#,##0" '書式
 のように、書式を決めるとします。
 
このシートには合計数セルがいくつかあり、共通の書式にしてます。
'objWs.cells(10, 1)は2つめの合計数
objWs.cells(10, 1).Interior.Color = rgb(0,255,255) '色適用
objWs.cells(10, 1).HorizontalAlignment = xlRight '右寄せ
objWs.cells(10, 1).Font.Bold = True '太字
objWs.cells(10, 1).NumberFormatLocal = "#,##0" '書式
 
現在はこのようになっているのですが、
〇フォーマットの変更があるかもしれない、例えば RGB(0,0,255)
〇フォーマットを適用するセルはこれ以外にも複数ある
 
このため、フォーマットをあらかじめ設定しておき,
それを各セルに適用する。
フォーマットの変更があったら一か所を書き換えればすべて有効
としたいのですが、何か方法がありますか
--勝手なイメージ
obj.Interior.Color = rgb(0,255,255) '色適用
obj.HorizontalAlignment = xlRight '右寄せ
obj.Font.Bold = True '太字
obj.NumberFormatLocal = "#,##0" '書式
としておき
set objws.cells(1,1) = obj
set objws.cells(10,1) = obj
 
何か方法はありますか
  
 
 
 
 
 
 

回答
投稿日時: 23/05/31 17:53:10
投稿者: sk

引用:
〇フォーマットの変更があるかもしれない、例えば RGB(0,0,255)
〇フォーマットを適用するセルはこれ以外にも複数ある
  
このため、フォーマットをあらかじめ設定しておき,
それを各セルに適用する。

スタイル機能を使用なさればよろしいのではないかと。

トピックに返信