Добрый день! Периодически получаю файл, в котором объединённые ячейки Файл жутко "тормозит"... При отмене "объединения" данные оказываются в КАЖДОЙ ячейке, при этом они могут отличатся( в файле примере видно на цифрах) Как это можно побороть..? Возможно макросом
Файл вложил
Добрый день! Периодически получаю файл, в котором объединённые ячейки Файл жутко "тормозит"... При отмене "объединения" данные оказываются в КАЖДОЙ ячейке, при этом они могут отличатся( в файле примере видно на цифрах) Как это можно побороть..? Возможно макросом
Это откуда-то скопировали объединенные ячейки и вставили в Ваш файл поверх имеющихся данных Спецвставка - Формат. Как побороть? А что в итоге нужно получить?
Это откуда-то скопировали объединенные ячейки и вставили в Ваш файл поверх имеющихся данных Спецвставка - Формат. Как побороть? А что в итоге нужно получить?_Boroda_
_Boroda_, что получить... Файл 18 мб (их много) при открытии жутко тормозит и зависает- решил что проблема именно в этом Хотелось бы "как то" их "облегчить".... (не знаю как сформулировать) progger, может и формат... только в одном случае число... в другом тест AlexM, возможно... только собрать данные из-за этого не выходит (с разных файлов через power query
_Boroda_, что получить... Файл 18 мб (их много) при открытии жутко тормозит и зависает- решил что проблема именно в этом Хотелось бы "как то" их "облегчить".... (не знаю как сформулировать) progger, может и формат... только в одном случае число... в другом тест AlexM, возможно... только собрать данные из-за этого не выходит (с разных файлов через power queryHoBU4OK
Я думал, ты остроглазый лев, а ты слепая собака :-)
Сообщение отредактировал HoBU4OK - Пятница, 18.08.2017, 10:20
Sub UnMerge_() With ActiveSheet.UsedRange
.UnMerge
.Interior.Pattern = xlNone EndWith For c = Cells(1, Columns.Count).End(xlToLeft).Column To1Step -1 IfNotIsNumeric(Cells(1, c)) Then Columns(c).Delete Next c EndSub
Сделал, как понял)
Sub UnMerge_() With ActiveSheet.UsedRange
.UnMerge
.Interior.Pattern = xlNone EndWith For c = Cells(1, Columns.Count).End(xlToLeft).Column To1Step -1 IfNotIsNumeric(Cells(1, c)) Then Columns(c).Delete Next c EndSub
Sub tt() Dim d0_ As Range, d1_ As Range
Application.ScreenUpdating = 0
Application.Calculation = xlCalculationManual Set d0_ = Range(Cells(1), Cells(1).SpecialCells(xlLastCell))
cn_ = d0_.Cells.Count For i = cn_ To1Step -1
d0_(i).Select If d0_(i).MergeArea.Count > 1Then
mad_ = d0_(i).MergeArea.Address Set d1_ = Range(mad_) With d1_
z_ = .Cells(1).Value
.UnMerge
.ClearContents
.Cells(1) = z_ EndWith EndIf Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = 0 EndSub
У меня так получилось
Sub tt() Dim d0_ As Range, d1_ As Range
Application.ScreenUpdating = 0
Application.Calculation = xlCalculationManual Set d0_ = Range(Cells(1), Cells(1).SpecialCells(xlLastCell))
cn_ = d0_.Cells.Count For i = cn_ To1Step -1
d0_(i).Select If d0_(i).MergeArea.Count > 1Then
mad_ = d0_(i).MergeArea.Address Set d1_ = Range(mad_) With d1_
z_ = .Cells(1).Value
.UnMerge
.ClearContents
.Cells(1) = z_ EndWith EndIf Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = 0 EndSub