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

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

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

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: макрос для расчета и записи в двумерный массив, после вставки массива на лист  (Прочитано 2722 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Underrating
Участник
**
Offline Offline

Сообщений: 11


« Ответ #41798: 4 Май 2017, 13:39 »

Добрый день! Помогите написать макрос для записи таблицы умножения, ниже есть пример как записываю в каждую ячейку отдельно. Но работает он слишком долго, поэтому сне надо сначала сохранить все в Базу Data а после из базы вставить на лист.


Работающий код требующий доработки

Sub twoset
Dim Doc As Object
Dim Sheet As Object
Doc = ThisComponent
Sheet = Doc.Sheets(13)
for i=14 to 91 step 1
for j=3 to 80 step 1
m=Sheet.getcellbyposition(13,j).value
n=Sheet.getcellbyposition(i,2).value
ThisWorkBook.Sheets(14).Cells(j+1,i+1)=m*n   
next
next


End Sub


Изменил код но он не работает

Sub twoset
Dim Doc As Object
Dim Sheet As Object
Dim Data as Variant

Doc = ThisComponent
Sheet = Doc.Sheets(13)
Data = Sheet.Range(Sheet.Cells(1, 1), Sheet.Cells(91, 80))
for i=14 to 91 step 1
for j=3 to 80 step 1
m=Sheet.getcellbyposition(13,j).value
n=Sheet.getcellbyposition(i,2).value
Data(j,i)=m*n   
next
next
Sheet.Range(Sheet.Cells(1, 1), Sheet.Cells(91, 80))=Data


End Sub
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

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