Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 17.10.2017
Сообщений: 15

Перенос макросов из excel в гугл таблицы

15.08.2019, 07:59. Показов 1275. Ответов 2

Студворк — интернет-сервис помощи студентам
Доброе утро уважаемые форумчане!
Создал в эксэле необходимый мне файл с макросами но столкнулся с проблемой импорта макросов в гугл таблицы.
Понял, что приложения используют различные языки программирования. Поэтому обращаюсь к Вам помогите пожалуйста с переписанием кода из VBA в JS.
Благодарю!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.08.2019, 07:59
Ответы с готовыми решениями:

Перенос данных из ячеек html таблицы в таблицу Excel
есть таблица из которой мне надо взять данные ячеек и перенести их в заполненный Excel. данные выводить не хочет либо ошибку выдает либо...

Разработка пользовательской таблицы средствами процессора Excel, создание и выполнение макросов Excel
Помогите пож Используется ексель + Microsoft Visual Basic for Applications( alt F11)

Перенос макроса Excel в Гугл Таблицу
Есть таблица в эксель с макросом. Помогите переписать код на ява скрипт для гугл таблицы, пожалуйста!! Таблица вот, просто должна...

2
0 / 0 / 0
Регистрация: 17.10.2017
Сообщений: 15
15.08.2019, 19:23  [ТС]
А это сами коды

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Option Explicit
Sub Очистка_расписания()
 Application.ScreenUpdating = False
    If Range("A1:H1000").SpecialCells(xlCellTypeConstants, xlNumberAsText).Select Then
        If MsgBox("Точно хотите очистить?", vbYesNo) = vbYes Then
            Selection.ClearContents
        End If
    Else
        MsgBox "Нет данных!"
    End If
    ActiveSheet.Range("B2").Select
    Application.ScreenUpdating = True
    Лист2.Range("A2:D1000") = ""
    Лист3.Range("I3:I100") = "=" & Chr(34) & Chr(34)
End Sub
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Sub Расписание_по_дням()
Dim j As Long
Dim i As Long
Dim j1 As Long
Dim i1 As Long
Dim f As Long
Dim v As Byte
Dim w As Byte
 
  i1 = Лист1.Cells(3, "D")
  j1 = Лист1.Cells(3, "H")
  If i1 > 0 Then     'Заполнение отсутствующих игр в 1 день
   j = i1
    For w = j + 3 To 12
    Лист3.Cells(w, "D") = "-"
    Лист3.Cells(w, "E") = "-"
    Next w
   End If
   
   If j1 > 0 Then    'Заполнение отсутствующих игр в последний день
   j = j1
   i = Лист1.Cells(2, "K") - 1
   i = i * 12 + 3
    For w = i + j To i + 9
    Лист3.Cells(w, "D") = "-"
    Лист3.Cells(w, "E") = "-"
    Next w
   End If
   
   i = Лист1.Cells(2, "K")
   w = 1                    'Заполняем шапки игровых дней
   For v = 1 To i
   Лист3.Cells(w, "D").Value = v
   Лист3.Cells(w, "E").Value = "Игровой день"
   Лист3.Cells(w + 1, "A").Value = "№ игры"
   Лист3.Cells(w + 1, "B").Value = "Дата"
   Лист3.Cells(w + 1, "C").Value = "Время"
   Лист3.Cells(w + 1, "D").Value = "Команда А"
   Лист3.Cells(w + 1, "E").Value = "Команда Б"
   Лист3.Cells(w + 1, "F").Value = "Счет А"
   Лист3.Cells(w + 1, "H").Value = "Счет Б"
   w = w + 12
   Next v
   
   If i1 > 0 Then       'Распределяем игры по оставшимся дням
   i = i - 1
   End If
   If j1 > 0 Then
   i = i - 1
   End If
   If i1 > 0 Then
   j = 1
   Else: j = 0
   End If
   j = j * 12
  For v = 1 To i
   If i > 1 Then
   If v = 1 Then
   f = Лист1.Cells(3, "K") - i1 - j1 - WorksheetFunction.Round((Лист1.Cells(3, "K") - i1 - j1) / i, 0) * i
   Else
   f = 0
   End If
   End If
   For w = j + f + 3 + WorksheetFunction.Round((Лист1.Cells(3, "K") - i1 - j1) / i, 0) To j + 3 + 9
   Лист3.Cells(w, "D") = "-"
   Лист3.Cells(w, "E") = "-"
   Next w
    j = j + 12
    Next v
    
End Sub
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Sub Заполнение_пар()
 
Dim j As Byte
Dim i As Byte
Dim d As Byte
Dim g As Byte
Dim f As Byte
Dim v As Byte
Dim w As Byte
Dim chislo_komand As Byte
Dim kriteriy As Boolean
Лист2.Range("D2:D1000") = ""
chislo_komand = Лист1.Cells(4, "D")     'считываем число команд
 
 
j = Лист1.Cells(2, "K")     'Количество дней.
i = Лист1.Cells(3, "K")     'Количество игр.
 
d = 3                       'Отмечаем уже заданные игры.
For v = 1 To j
   For w = d To d + 9
      If Лист3.Cells(w, "D") <> "" And Лист3.Cells(w, "E") <> "" And Лист3.Cells(w, "D") <> "-" Then     'Ищем заранее установленные игры.
        For f = 2 To 2 + i - 1
           If (Лист2.Cells(f, "B") = Лист3.Cells(w, "D") And Лист2.Cells(f, "C") = Лист3.Cells(w, "E")) Or (Лист2.Cells(f, "C") = Лист3.Cells(w, "D") And Лист2.Cells(f, "B") = Лист3.Cells(w, "E")) Then   'Ищем эту комбинацию в общем списке.
              Лист2.Cells(f, "D") = 1   'Помечаем, чтоб повторно не использовать эту комбинацию.
           End If
        Next f
      End If
   Next w
   d = d + 12
Next v
 
d = 3                       'Ищем пары определенным участникам и помечаем эти игры.
For v = 1 To j
   For w = d To d + 9
      If Лист3.Cells(w, "D") <> "" And Лист3.Cells(w, "D") <> "-" And Лист3.Cells(w, "E") = "" Then     'Ищем заранее установленных участников.
        For f = 2 To 2 + i - 1
            If chislo_komand > 6.1 Then
              kriteriy = ((Лист2.Cells(f, "B") = Лист3.Cells(w, "D")) Or (Лист2.Cells(f, "C") = Лист3.Cells(w, "D"))) And (Лист2.Cells(f, "D") <> 1) And (Лист2.Cells(f, "B") <> Лист3.Cells(w - 1, "D")) And (Лист2.Cells(f, "B") <> Лист3.Cells(w + 1, "D")) And (Лист2.Cells(f, "B") <> Лист3.Cells(w - 1, "E")) And (Лист2.Cells(f, "B") <> Лист3.Cells(w + 1, "E")) And (Лист2.Cells(f, "C") <> Лист3.Cells(w - 1, "D")) And (Лист2.Cells(f, "C") <> Лист3.Cells(w + 1, "D")) And (Лист2.Cells(f, "C") <> Лист3.Cells(w - 1, "E")) And (Лист2.Cells(f, "C") <> Лист3.Cells(w + 1, "E"))  'Ищем ему пару в общем списке без второй игры сподряд для одной из команд
           Else
              kriteriy = ((Лист2.Cells(f, "B") = Лист3.Cells(w, "D")) Or (Лист2.Cells(f, "C") = Лист3.Cells(w, "D"))) And (Лист2.Cells(f, "D") <> 1)  'Ищем ему пару в общем списке игнорируя вероятность второй игры сподряд для обеих команд.
           End If
           If kriteriy Then
              Лист3.Cells(w, "D") = Лист2.Cells(f, "B")                    'Записываем найденную пару.
              Лист3.Cells(w, "E") = Лист2.Cells(f, "C")
              Лист2.Cells(f, "D") = 1   'Помечаем, чтоб повторно не использовать эту комбинацию.
              Exit For
           End If
        Next f
      End If
   Next w
   d = d + 12
Next v
 
d = 3                       'Заполняем оставщиеся игры и помечаем их.
For v = 1 To j
   For w = d To d + 9
      If Лист3.Cells(w, "D") = "" And Лист3.Cells(w, "E") = "" Then     'Ищем пустые ячейки.
        For f = 2 To 2 + i - 1
           If chislo_komand > 6.1 Then
              kriteriy = (Лист2.Cells(f, "D") <> 1) And (Лист2.Cells(f, "B") <> Лист3.Cells(w - 1, "D")) And (Лист2.Cells(f, "B") <> Лист3.Cells(w + 1, "D")) And (Лист2.Cells(f, "B") <> Лист3.Cells(w - 1, "E")) And (Лист2.Cells(f, "B") <> Лист3.Cells(w + 1, "E")) And (Лист2.Cells(f, "C") <> Лист3.Cells(w - 1, "D")) And (Лист2.Cells(f, "C") <> Лист3.Cells(w + 1, "D")) And (Лист2.Cells(f, "C") <> Лист3.Cells(w - 1, "E")) And (Лист2.Cells(f, "C") <> Лист3.Cells(w + 1, "E"))  'Ищем ему пару в общем списке без второй игры сподряд для одной из команд
           Else
              kriteriy = Лист2.Cells(f, "D") <> 1  'Ищем ему пару в общем списке игнорируя вероятность второй игры сподряд для обеих команд.
           End If
           If kriteriy Then 'Ищем ему пару в общем списке.
              Лист3.Cells(w, "D") = Лист2.Cells(f, "B")                    'Записываем найденную пару.
              Лист3.Cells(w, "E") = Лист2.Cells(f, "C")
              Лист2.Cells(f, "D") = 1   'Помечаем, чтоб повторно не использовать эту комбинацию.
              Exit For
           End If
        Next f
      End If
   Next w
   d = d + 12
Next v
   
End Sub
0
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
15.08.2019, 20:51
Самоучитель:
https://sonikelf.ru/rabotaem-s... -skriptov/
Официальный справочник:
https://developers.google.com/... heet/range
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.08.2019, 20:51
Помогаю со студенческими работами здесь

Перенос таблицы из Word в Excel
Доброго дня. появилась такая проблемка: есть электронная заявка(таблица в Excel) и есть вордовский документ который мы получаем от...

Перенос таблицы excel в word
Всем привет. Столкнулся с небольшой проблемой. В прикрепленном файле вы найдете excel Договор и один из шаблонов (договор) ...

Перенос таблицы из StringGrid в Excel
Доброго времени суток, у меня имеется заполненная таблица в StringGrid, как я могу перенести данную таблицу в Excel?

Перенос таблицы из Word в Excel
Есть таблица MS Word. В ячейках данные, состоящие из нескольких строк текста. Мне нужно это все перенести в Excel. Если делать копированием...

Перенос таблицы из Excel в Word
С новым годом, товарисчи программисты и простые смертные! :) Счастья вам и здоровья в новом году, а так же успехов на ниве производства. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru