Макрос и Номера листов

Автор ink-service, 12 февраля 2019, 16:59

0 Пользователи и 1 гость просматривают эту тему.

ink-service

Попробовал вроде все понятно все работает).  ОГРОМНОЕ СПАСИБО!!   эээх  мне бы так  научится  макросы писать))..  да никак не освою, с этим, наверное, нужно постоянно работать)
Вы случайно сайты еще не поддерживаете?))

kompilainenn

Цитата: ink-service от 19 октября 2019, 08:47Вы случайно сайты еще не поддерживаете?))
headhunter рядом
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

ink-service


ink-service

Подскажите пожалуйста еще такой момент. Раньше макрос быстренько работал. а сейчас  Нажимаю на кнопку и он обрабатывается минут 2-3(.  Ничего не менял...  ставлю на другую машину там шустро отрабатывает один и тотже файл. в чем может проблема быть?

ink-service

#34
Правда вот выплыл такой момент, прога требует это:
"Для выполнения данного задания LibreOffice необходимо установленное окружение Java (JRE). Установите JRE и перезапустите LibreOffice."

это влияет на тормоз что описал? Но ведь до этого все работало.....  вроде ничего не обновлял не устанавливал не удалял(((
  и где взять установить? может ссылочку..
спасибо.

rami

Исправьте старый код в макросе на (там в конце не хватало кавычек):
         rem Соберём формулу в переменную
          formula1 =  "=IFERROR(VLOOKUP(C" + jj +";" + ListArr(i) + ".C$9:G$280;5;0);"""""
          formula2 =  "=IFERROR(if(VLOOKUP(C" + jj +";" + ListArr(i) + ".C$9:G$280;4;0)=F" + jj +";0;VLOOKUP(C" + jj +";" + ListArr(i) + ".C$9:G$280;4;0));"""""
          formula3 =  "=RIGHT(" + ListArr(i)+ ".A6;10)"

ink-service

Цитата: rami от 21 октября 2019, 10:56Исправьте старый код в макросе на (там в конце не хватало кавычек):
спасибо)).  но я уже его сразу поправил еще  когда мне его написали)..  догадался как-то методом тыка)..
а вот про тормоза что выше описал ничего никто не скажет?

bigor

Цитата: ink-service от 21 октября 2019, 08:38Раньше макрос быстренько работал. а сейчас  Нажимаю на кнопку и он обрабатывается минут 2-3(
Ну я предупреждал, что тормоза возможны, при каждом запуске добавляется в моем варианте около 300 формул УФ, а если вы листы добавили то больше. Хотя у меня каждый лист обрабатывается секунд 6, сколько же вы добавили для 2 минут :)
Про JRE
У меня галочка использовать не стоит и  ничего не спрашивает.
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

ink-service

Почти ничего не добавлял..  Но тут странный момент..  машина одна.  под одим пользователем тормозит както вот так как написал. а под другим работает шустренько, как Вы описали)...  Думается мне дело тут  не в макросе))..

ink-service

Ну чтобы отшлифовать работу макроса идеально))) Еще подскажите пожалуйста:
при работе макроса УФ выходит сообщение  с номером листа, но отсчет начинается с нуля, а где поправить чтобы   номер листа был с 1. ?

bigor

Цитата: ink-service от 22 октября 2019, 22:40сообщение  с номером листа

вторая строчка: msgbox list
я делал как отладочную, забыл удалить. Если нужна нумерация с 1, то msgbox list+1
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

ink-service


ink-service

Подскажите макрос, как мне просто в колонку P11 вставить просто вот формулу.
=ЕСЛИ(СУММ(I11:O11);МИН(J11;L11;N11)*F11;H11)
и раскопировать ее с P11 до P250й c последовательным изменением в формуле номера строк


bigor

По аналогии с существующим макросом
Sub Test_4
sh1 = Thiscomponent.Sheets(0)
For ii=11 To 250
sh1.GetCellByPosition(15,ii-1).setFormula("=if(sum(I" & ii & ":O" & ii &");min(J" & ii & ";L" & ii & ";N" & ii &")*F" & ii &";H" & ii &")")
next
End Sub
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

ink-service

А если в документе много листов..  Я Встаю например на ЛИСТ4 жму макрос а он все равно делает только на первом листе..
как мне чтобы он сработал на текущем листе..