2016-01-17 2 views
0

У меня есть ежеквартальные данные, которые необходимо преобразовать в ежемесячную, то есть скопировать A1 и вставить ее в B1, B2 и B3. Чем A2 в B4, B5 и B6. Таким образом, базовые 4 квартала чтения в 12 ежемесячных чтений. 4 ячейки в 12. Он собирается конвертировать квартальные показатели ВВП в формат до 12 месяцев для аналитических целей.VBA конвертировать Ежеквартальные данные в ежемесячные

Я был в состоянии сделать это

Sub quarter_to_month() 
' 
' quarter_to_month Macro 
' 

' 
    Sheets("Real GDP %change anu").Select 
    Range("B8").Select 
    Selection.Copy 
    Sheets("quarter to month").Select 
    Range("A" & Rows.Count).End(xlUp).Offset(1).Select 
    ActiveSheet.Paste 
    Range("A" & Rows.Count).End(xlUp).Offset(1).Select 
    ActiveSheet.Paste 
    Range("A" & Rows.Count).End(xlUp).Offset(1).Select 
    ActiveSheet.Paste 
End Sub 

, но теперь это, вероятно, потребности сделать в то время как цикл, чтобы получить все результаты ежеквартальных колонок. Я не уверен, как это сделать. Пожалуйста, любые предложения.

+0

См [ЗДЕСЬ] (http://stackoverflow.com/questions/34825434/is-there-any-formula-that-can-be-used-to-duplicate -a-частности клеточной указано-н). есть ответ vba и формулы, чтобы делать то, что вы хотите. –

ответ

0

Попробуйте этот код:

Sub Test() 
Dim CL As Range 
Dim j As Long 
j = 1 
For Each CL In Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row) 
    Range(Cells(j, 2), Cells(j + 2, 2)).Value = CL.Value 
    j = j + 3 
Next 
End Sub 
+0

Я только что нашел этот «= ИНДЕКС (A: A, ROUNDUP (ROWS ($ 1: 1)/5,0))». Это легко и прекрасно работает. Я тоже попробую код. – sretko

+0

@AlIvon, попробуйте в временной копии вашего рабочего листа, чтобы не потерять формулы – Fadi

Смежные вопросы