Здравствуйте!
Подскажите пожалуйста, можно ли как-то данный макрос подредактировать чтобы:
Пример файла прикрепляю, и с макросом и без -- я тут новенький, не знаю Вашу политику безопасности.
Подскажите пожалуйста, можно ли как-то данный макрос подредактировать чтобы:
- после того, как он прошёлся по одному диапазону, если есть в столбце С пустые строки, чтобы он их удалял (Рис. 1 , красная фигурная скобочка).
- Он автоматически выбирал диапазон сначала С3-С6, потом С8-С12, и т. д. до конца перечня? Т.е. по условию если что-то есть в B2, берем диапазон B2+1 - B7 -1 и прогнать макрос через весь файл. (Как выделено на файле 3 серым цветом)
Скрытый текст |
---|
Sub MergeToOneCell() Const sDELIM As String = vbLf 'символ-разделитель Dim rCell As Range Dim sMergeStr As String If TypeName(Selection) <> "Range" Then Exit Sub 'если выделены НЕ ячейки -- выходим With Selection For Each rCell In .Cells sMergeStr = sMergeStr & sDELIM & rCell.Text 'собираем текст из ячеек Next rCell Application.DisplayAlerts = False 'отключаем стандартное предупреждение о потере текста .Merge Across:=False 'объединяем ячейки Application.DisplayAlerts = True .Item(1).Value = Mid(sMergeStr, 1 + Len(sDELIM)) 'добавляем к объединённой ячейке суммарный текст .Merge Across:=False 'разъединяем ячейки End With End Sub |
Пример файла прикрепляю, и с макросом и без -- я тут новенький, не знаю Вашу политику безопасности.