[ОТВЕТИТЬ]
Опции темы
22.05.2013 13:45  
Aleksandr H.
открытость окна редактора никак не влияет на выполнение макроса ;)

пока буду тестировать на таком коде
Код:
Sub ToText()
Dim n As Range
  For Each n In Selection
       n.NumberFormat = "@"
       n.Value = "'" & n.Value
       n.Value = CStr(Replace(n, " ", ""))
 Next: End Sub
 
22.05.2013 15:16  
sf13
Цитата:
Сообщение от Aleksandr H.
1. формат ячеек выделенного диапазона превратить в текстовый.
2. удалить все пробелы в выделенном диапазоне.

не срабатывает на тексте например "00004 ".
Результатом должен быть текст "00004" а выдает "4"
Не факт, что единственно возможный и оптимальный вариант, но, тем не менее:

=ПОДСТАВИТЬ(адрес_ячейки;" ";"") задачу решит. Увы, для формулы потребуется свободная ячейка (или столбец)
Далее можно скопировать и вставить на место источника только значения. Сработает.
Но от греха подальше самым первым делом формат ячейки (или ячеек) источника переводим в текстовый.


Все эти действия можно записать и в макрос.
 
22.05.2013 16:58  
sf13
MyFirstRow = Selection.Row
MyRows = Selection.Rows.Count
MyColumn = Selection.Column

For Counter = MyFirstRow To MyFirstRow + MyRows - 1
MyValue = Cells(Counter, MyColumn)
MyValue = Replace(MyValue, " ", "")
Cells(Counter, MyColumn).NumberFormat = "@"
Cells(Counter, MyColumn) = MyValue
Next
 
22.05.2013 18:01  
sf13
Или (что то же самое):

Dim n As Range
For Each n In Selection
MyValue = n
MyValue = Replace(MyValue, " ", "")
n.NumberFormat = "@"
n = MyValue
Next:
 
06.06.2013 18:49  
Закупщик56160
Добрый день, коллеги, помогите с формулой, я сделал фаил-инструмент, который помогает мне в заказе нужного количества товара (он во вложении), он определяет размер заказа, ориентируясь на выходы со склада за последние 8 недель. Но есть проблем,а если артикул новый (выделен красным) то у него то выходы по нему несколько недель будут равны «0», и как следствие средние продажи будут некорректны (не 889 шт. а 1779). Можно ли сделать формулу, содержащую следующее условие: если в диапазоне от АА2:АН2 подряд стоят два и более «0», формула не учитывает эти нули при расчёте среднего значения.
Спасибо.
Вложения
Тип файла: xlsx 20130605_zakazat ST.xlsx (11.9 Кб, 126 просмотров)
 
06.06.2013 22:33  
Aleksandr H.
Пётр, а допускается что например Н-5 100 шт, Н-6 0 шт, Н-7 30 шт? если 0 вообще не должны считаться, то можно через найти-заменить ;)
 
07.06.2013 05:19  
Закупщик56160
Да, один "0" допускается, т. к. у нас бывают "нулевые" выходы за неделю, не допускается два и более "0" подряд.
 
07.06.2013 10:40  
Aleksandr H.
Прошу комментарии
Вложения
Тип файла: xlsx Копия 20130605_zakazat ST.xlsx (14.5 Кб, 129 просмотров)
 
07.06.2013 16:48  
Закупщик56160
Шикарно, спасибо, то, что нужно
 
07.06.2013 22:07  
tgm
Ну а если совсем без нулей :) тогда:
=СРЗНАЧЕСЛИ(AA2:AH2;">0")
=СУММ(AA2:AH2)/СЧЁТЕСЛИ(AA2:AH2;">0")
=СРЗНАЧ((ЕСЛИ(AA2:AH2>0;AA2:AH2)))-формула массива
 
 


Опции темы



Часовой пояс GMT +3, время: 06:48.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.