VBA備忘録

VBAソースの備忘録。当面Excelのみ。

セルの書式をコピー&ペースト

'------------------------------------------------------
'セルの書式設定をコピー
'
'   戻値:なし
'
'   引数:コピー元セル(範囲指定は不可)
'       :コピー先セル(範囲指定可)
'
'   注意:コピー元セルが複数指定されている場合エラーとする
'-------------------------------------------------------
Sub CopyRangeFormat(rngMoto As Range, rngSaki As Range)
    
    If rngMoto.Count > 1 Then
    
        'エラー処理を行う(ログを出す、セルを色づけする等)
        
        Exit Sub
        
    End If
    
    rngSaki.NumberFormatLocal = rngMoto.NumberFormatLocal
    
End Sub

 

呼び出し方

    'A1の書式設定をB1にコピー
    Call CopyRangeFormat(Range("A1"), Range("B1"))
        
    'A1セルの書式設定を複数セルにコピー
    Call CopyRangeFormat(Range("A1"), Range("B1:B10"))