Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

11 Август 2022, 21:00 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Доступно и просто о работе в офисных пакетах
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Помогите переделать макрос из excel в OO  (Прочитано 5293 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Vildar
Новичок
*
Offline Offline

Сообщений: 3


« Стартовое сообщение: 5 Февраль 2014, 12:46 »

Всем привет,
Вот макрос на VBA Excel:
Код:
Sub Диаграма3-щелкнуть()
   Sheets("КПа, МПа").Select

      For k = 2 To 56
         If (Cells(k, 3) <> 0) Then Cells(k, 7) = Cells(k, 3) / 10
         If (Cells(k, 3) = 0) Then Cells(k, 7).Select
         Selection.ClearContents
      Next k

      For k = 2 To 56
         If (Cells(k, 6) <> 0) Then Cells(k, 8) = Cells(k, 6) / 10
         If (Cells(k, 6) = 0) Then Cells(k, 8).Select
         Selection.ClearContents
      Next k

   Sheets("График").Select
End Sub
Причем, запускается он нажатием на диаграмме. В calc такой функции нет, вроде. Думаю, не проблема будет его запускать вручную, а затем обновлять диаграмму.
Не понимаю, что такое Selection?

Помогите пожалуйста. Спасибо!
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #1: 5 Февраль 2014, 13:04 »

Привет и добро пожаловать на форум!
А что на листе "КПа, МПа" кроме значений? Формулы есть? Или только значения?
(Лучше бы книгу приложил к сообщению - проще было бы, меньше встречных вопросов пришлось бы задавать)
Большая ли разница как запускать макрос - щелчком по диаграмме или по кнопке рядом с ней?
Selection - это текущее выделение, ячейка, диапазон или целый лист. В этом макросе этим словом обозначают то, что только что выделили с помощью метода .Select
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Vildar
Новичок
*
Offline Offline

Сообщений: 3


« Ответ #2: 5 Февраль 2014, 13:10 »

Нет, формул там нет.
Приложил пример.
Спасибо за оперативность.
Макрос не мой. Что-то мне кажется он очень простую операцию делает, и можно без него это сделать. Ячейку разделить на 10 и все. Только вот как быть, когда нули получаются, на диаграмме они не нужны (

[вложение удалено Администратором]
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #3: 5 Февраль 2014, 14:29 »

Совершенно верно - макрос там совершенно лишний. Все то же самое сделали бы самые обычные формулы
В ячейке G2
Код:
=ЕСЛИ(C2="";"";C2/10) (для Экселя)
или
=IF(C2="";"";C2/10) (для Calc'а)
В ячейке H2 то же самое, только вместо F2 написать
Код:
=IF(F2="";"";F2/10)

и растянуть эти формулы до конца таблицы
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Vildar
Новичок
*
Offline Offline

Сообщений: 3


« Ответ #4: 5 Февраль 2014, 14:37 »

Спасибо большое!  Всё хорошо
Сразу испугался, что там страшный макрос, не пригляделся.

На счет нулевых значений и их отображения в диаграмме. В диаграмме они не должны отображатся, т.е. вместо нулевых значений графика - обрыв графика.
Нашел на одном форуме, что лучше в формулу вместо "" подставить NA() (или =НД() в русском варианте), отображатся в ячейке будет как #Н/Д, а на графике эти ячейки не будут обрабатываться, а будут обрывы, то что нужно. Для calc аналогично.

Для меня вопрос решен. Еще раз спасибо!
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!