Существует способ, чтобы скопировать базовое форматирование ячейки, используя MSND's Guide
В то время как выше, может быть обходным путь, когда дело доходит до VBA нет прямого способа копирования ячеек стилей/форматирования.
Это правда, что Style
object хранит стили, но не существуют методы (по крайней мере, я не знаю ни), которые позволяют использовать Style
объект скопировать и применить форматирование между ячейками.
Существует обходной путь его с помощью VBA
Один из способов заключается в использовании String
аргументы, чтобы скопировать from
и to
т.е..
Private Sub CopyFormatting(fromRng As String, toRng As String)
Application.ScreenUpdating = False
Dim tmpVal
tmpVal = Range(toRng)
Range(fromRng).Copy Range(toRng)
Range(toRng) = tmpVal
Application.ScreenUpdating = True
End Sub
и Называйте это как
Sub Main()
CopyFormatting "A1", "A10"
End Sub
и это будет скопировать форматирование и сохранить значение в отличие от большого количества гидов онлайн, которые только скопировать и вставить Клетка
лучший способ было бы передать ссылку на Range
объектов, так как это позволит вам использовать его между различными листами и т. д.
Пример
Option Explicit
Sub Main()
Dim rng1 As Range, rng2 As Range
Set rng1 = Sheets(1).Range("B3")
Set rng2 = Sheets(2).Range("A1")
CopyFormatting rng1, rng2
End Sub
Private Sub CopyFormatting(fromRng As Range, toRng As Range)
Application.ScreenUpdating = False
Dim tmpVal
tmpVal = toRng
fromRng.Copy toRng
toRng = tmpVal
Application.ScreenUpdating = True
End Sub
Возможный дубликат http://stackoverflow.com/questions/8451511/vsto-getting-excel-cell-properties-in-bulk – brettdj