Всем добрый вечер. Пытаюсь решить такую задачу- пишу универсальный код для вставки пустых столбцов через интервал, с указанным шагом, указанное число раз. Через одни вставляет нормально, но когда начинаешь указывать более крупный шаг, или число вставляемых столбцов больше одного - все начинает работать не корректно. Строки я победил довольно быстро, но там использовал другой метод, сюда не подходит. Здесь никак не добьюсь результата. Вот код:
[vba]
Код
kv = T5.Value ' кол-во добавляемых пустых столбцов ks = T6.Value ' интервал k1 = T7.Value ' столбец старта, откуда начинаем k2 = T8.Value ' кол-во вставок For i = k1 To (ks * k2) Step ks If Cells(1, i) <> "" Then Cells(1, i).EntireColumn.Insert If kv > 1 Then For x = k1 To (ks * k2) Step ks Cells(1, x).EntireColumn.Insert Next x End If End If Next i
[/vba]
Всем добрый вечер. Пытаюсь решить такую задачу- пишу универсальный код для вставки пустых столбцов через интервал, с указанным шагом, указанное число раз. Через одни вставляет нормально, но когда начинаешь указывать более крупный шаг, или число вставляемых столбцов больше одного - все начинает работать не корректно. Строки я победил довольно быстро, но там использовал другой метод, сюда не подходит. Здесь никак не добьюсь результата. Вот код:
[vba]
Код
kv = T5.Value ' кол-во добавляемых пустых столбцов ks = T6.Value ' интервал k1 = T7.Value ' столбец старта, откуда начинаем k2 = T8.Value ' кол-во вставок For i = k1 To (ks * k2) Step ks If Cells(1, i) <> "" Then Cells(1, i).EntireColumn.Insert If kv > 1 Then For x = k1 To (ks * k2) Step ks Cells(1, x).EntireColumn.Insert Next x End If End If Next i
Вы бы приложили файлик с примером, что имеем и что из этого должно получаться в итоге. А то ни медитация на ТЗ, ни вдумчивое курение кода не помогает понять, что такое "интервал", к примеру. Ну напишут Вам рабочий код, а как понять, что он делает то, что нужно, а не то, что он сам хочет или что автор кода не так понял?
Вы бы приложили файлик с примером, что имеем и что из этого должно получаться в итоге. А то ни медитация на ТЗ, ни вдумчивое курение кода не помогает понять, что такое "интервал", к примеру. Ну напишут Вам рабочий код, а как понять, что он делает то, что нужно, а не то, что он сам хочет или что автор кода не так понял? StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
Пытаюсь написать нечто универсальное. Файл примера вложил. Скажет нужно после столбца наценка вставить два пустых столбца для расчета % маржи или выполения, но не за все месяцы, а только за первые 2. Или нужно добавить всего одни столбец, но за все месяцы. В след. раз может в массиве может быть столбец % маржи, также будет нужно вставлять через уже существующие столбцы новые пустые для расчета др. показателей. Т.е. шаг увеличится на одни. Возможно считать, а значит и вставлять нужно не с первого месяца, а со второго и т.д.
Код там на InputBox перенес, но он не работает
Пытаюсь написать нечто универсальное. Файл примера вложил. Скажет нужно после столбца наценка вставить два пустых столбца для расчета % маржи или выполения, но не за все месяцы, а только за первые 2. Или нужно добавить всего одни столбец, но за все месяцы. В след. раз может в массиве может быть столбец % маржи, также будет нужно вставлять через уже существующие столбцы новые пустые для расчета др. показателей. Т.е. шаг увеличится на одни. Возможно считать, а значит и вставлять нужно не с первого месяца, а со второго и т.д.
Код там на InputBox перенес, но он не работает IgorStorm