2012-05-15 3 views
0

У меня есть appx 3000 строк, и я хотел бы иметь готовые ячейки в качестве конечного результата.EXCEL VBA копия ячейки + цикл + разделитель

1) копию и

2) петля

Цикл состоит из 6 клеток. D2 и D3, от F2 до D4, от F3 до D5 и от G2 до D6, от G3 до D7.

У меня проблемы с относительным позиционированием ячеек, где начать с 1-го цикла.

3) разграничить

Как я могу разграничить с фиксированной шириной? Я нашел много так называемых инструкций, но не примеры.

Спасибо за советы.

+0

Что вы имеете в виду 'Pivot Ready cells'? Я не уверен в ваших точных требованиях. Можете ли вы объяснить немного больше? Если необходимо, покажите нам некоторые примеры данных/скриншотов о том, чего вы хотите достичь. Также покажите нам, что вы пробовали до сих пор ... –

+0

'Данные >> Текст в столбцы' имеет параметр фиксированной ширины. Запишите макрос и измените его для своих нужд. –

ответ

0

вы можете использовать

Sub LoopRange() 
'officevb.com 
Dim rgArray As Variant 
Dim rg As Range 
Dim i As integer 

'if your range not mutable use 
rgArray = Array("D2:D3", "D4:F2", "D5:F3", "D6:G2", "D7:G3") 

For i = LBound(rgArray) To UBound(rgArray) 
    For Each rg In Sheets(1).Range(rgArray(i)) 
     Debug.Print rg.Address 
    Next rg 
Next i 

End Sub 
+0

Я сделал запись макроса и попытался изменить параметры, но что-то не сработало ( – user1396049

+0

@TIM: можно ли разделить ячейку с использованием фиксированной ширины или комбинации с разделителем также в VBA? – user1396049

+0

вот часть кода: . 'Sub Macro2() 'Macro2 Макро ActiveCell.Offset (1, 1) .Range ("А1") Выбрать Selection.Cut Направление: = ActiveCell.Offset (-1, 1) .Range (" A1 ") ActiveCell.Offset (-1, 4) .Range (« A1 »). Выберите Selection.Cut Назначение: = ActiveCell.Offset (1, -4) .Range (« A1 ») ActiveCell.Offset (1 , 0) .Range («A1»). Выберите Selection.Cut Назначение: = ActiveCell.Offset (0, -3) .Range («A1») ActiveCell.Offset (2, -4) .Range ("A1"). Выберите End Sub' – user1396049

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