Добрый день, уважаемые форумчане! Пытаюсь сделать один чудо автоматизированный файл для своей работы, и столкнулся с рядом сложностей, которые не могут решить, а изучать книгу по программированию в VB и Excel очень не хочется. В проекте много задач, но сейчас встрял на следующей: Есть столбец, в нем случайное кол-во данных (без пустых значений). Мне нужно в другой столбик вставить N раз скопированные данные , причем N вводится пользователем ( по умолчанию 4 ) и далее, отсортировать данные А-Я (данные будут текстовые) . Я пытался записать макросом через CTR+Shift+End однако, когда я выставлял курсор на последнюю ячейку ( в момент вставки ) и нажимал вниз ( чтобы начать вставку с чистой ячейки ) то макрос записывал не (Последнее значение+1) а конкретное, где оказывался мой курсор ( типа А5 ) .
Готов отблагодарить небольшой денежкой на телефон. Заранее спасибо!
Добрый день, уважаемые форумчане! Пытаюсь сделать один чудо автоматизированный файл для своей работы, и столкнулся с рядом сложностей, которые не могут решить, а изучать книгу по программированию в VB и Excel очень не хочется. В проекте много задач, но сейчас встрял на следующей: Есть столбец, в нем случайное кол-во данных (без пустых значений). Мне нужно в другой столбик вставить N раз скопированные данные , причем N вводится пользователем ( по умолчанию 4 ) и далее, отсортировать данные А-Я (данные будут текстовые) . Я пытался записать макросом через CTR+Shift+End однако, когда я выставлял курсор на последнюю ячейку ( в момент вставки ) и нажимал вниз ( чтобы начать вставку с чистой ячейки ) то макрос записывал не (Последнее значение+1) а конкретное, где оказывался мой курсор ( типа А5 ) .
Готов отблагодарить небольшой денежкой на телефон. Заранее спасибо!Kudesnik1987
Sub ss() Dim rng As Range With Range([A1], [A1].End(xlDown)) Set rng = .Resize(.Count * [B1]) .Copy rng With ActiveSheet.Sort With .SortFields .Clear .Add rng, 0, 1, , 0 End With .SetRange rng: .Header = 2 .MatchCase = 0: .Orientation = 1 .SortMethod = 1: .Apply End With End With End Sub
[/vba]
До кучи Данные в столбце A:A, N в ячейке B1 [vba]
Код
Sub ss() Dim rng As Range With Range([A1], [A1].End(xlDown)) Set rng = .Resize(.Count * [B1]) .Copy rng With ActiveSheet.Sort With .SortFields .Clear .Add rng, 0, 1, , 0 End With .SetRange rng: .Header = 2 .MatchCase = 0: .Orientation = 1 .SortMethod = 1: .Apply End With End With End Sub
Коллеги, большое спасибо за помощь! Использовал вариант товарища krosav4ig'а. Скиньте, пожалуйста, ЯД номер или телефона в личку - переведу обещанную копеечку.
Коллеги, большое спасибо за помощь! Использовал вариант товарища krosav4ig'а. Скиньте, пожалуйста, ЯД номер или телефона в личку - переведу обещанную копеечку.Kudesnik1987