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 Кб, 147 просмотров)
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 Кб, 150 просмотров)
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, время: 22:55.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.