Итак, сегодня получена таблица Excel с более чем 20 000 ячеек. Мне пришлось отделять их по имени (когда 14 строк запускают новый клиент) и суммируют столбцы цен. Итак, я написал:Использование функции Excel в вопросе VB
Sub NewSpace()
'
' NewSpace Macro
'
' Keyboard Shortcut: Ctrl+p
'
'create the count variable, initilize it to 17
Dim count As Integer
count = 17
While count <= 30003
'add first row
Rows(count & ":" & count).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'add second row
Rows(count & ":" & count).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'Select cell A in the first created row, write "Total", and format properly
Range("A" & count).Select
ActiveCell.FormulaR1C1 = "Total"
With ActiveCell.Characters(Start:=1, Length:=5).Font
.Name = "Calibri"
.FontStyle = "Bold"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
'Select cell H in the first created row, sum up the values
Range("H" & count).Select
ActiveCell.FormulaR1C1 = "=sum(H" & (count - 15) & ":H" & (count - 1) & ")"
With ActiveCell.Characters(Start:=1, Length:=5).Font
.Name = "Calibri"
.FontStyle = "Bold"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
'increment the counter by 16, start again
count = count + 16
Wend
End Sub
Однако я получаю ошибку #name на этой линии: ActiveCell.FormulaR1C1 = "= сумма (H" & (количество - 15) & ": Н" & (количество - 1) & ")"
Все, что мне кажется хорошо, и, честно говоря, я не уверен, что мне нужно изменить.
EDIT: Я также забыл упомянуть, в сообщении об ошибке #name, формула показывает правильно, однако он добавляет 'к функции, например, так: = СУММ (' H __ ':' H__ ')
Это работало точно так, как должно быть. Спасибо за помощь Барта. – AgainstClint