В коде ниже я хочу сделать следующее:Формат с VBA
- В строке 9 формат высота строки будет +25,5
- В строках 10-12 по правому краю и смелыми строк вставляются.
То, что я пробовал, не работает должным образом. Я думал, что могу использовать что-то с «TargetCell», но я не хочу определять целевой диапазон. Я бы хотел, чтобы каждая итерация For делала форматирование. Я делаю это сложным? Любая помощь в этом была бы замечательной!
Sub Program_Population()
10 Dim ws1 As Worksheet: Set ws1 = Sheets("Calc")
20 Dim ws2 As Worksheet: Set ws2 = Sheets("COST SHEET")
Dim LastRow As Long
Dim i As Long
Dim rngtocopy As Range
Dim rngFinal As Range
Dim pwd As String
30 vStart
'****Clear previous entries in the cost sheet for program type****
40 ws2.Range("B15:B10000").ClearContents
50 LastRow = ws1.Cells(ws1.Rows.Count, "B").End(xlUp).Row
60 Set rngtocopy = ws1.Range("B1", ws1.Cells(LastRow, "C"))
70 Set rngFinal = ws2.Range("B15", ws2.Cells(LastRow * 4, "B"))
80 For i = 1 To rngtocopy.Rows.Count
90 rngFinal((i - 1) * 5 + 1, 1) = rngtocopy(i, 1) & Chr(10) & rngtocopy(i, 2)
100 rngFinal((i - 1) * 5 + 2, 1) = "Forecast"
110 rngFinal((i - 1) * 5 + 3, 1) = "Actual"
120 rngFinal((i - 1) * 5 + 4, 1) = "Comparison"
130 Next i
140 vExit
End Sub
_does не работает, как expected_. Что это делает, это неверно. Вы не можете назначать значения диапазонам так, как вы. Чтобы получить и установить данные диапазона, вам нужно использовать свойство .Value'. См. [MSDN] (http://msdn.microsoft.com/en-us/library/office/ff195193 (v = office.15) .aspx) – Matt
Код в основном считывает диапазон из другого листа и вставляет его с кодом в строке 9. Код из строки 10,11,12 вставляет связанное описание, затем цикл начинается снова. Я хотел бы сделать форматирование по мере выполнения цикла, а не вручную или определения диапазона. Цикл может выполняться один или несколько раз. – RL001