2 / 2 / 0
Регистрация: 19.07.2011
Сообщений: 63
1

Macros на Mac, не читает даже Windows("total.xlsx").Activate

13.03.2018, 20:54. Показов 931. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, уважаемые знатоки!

просьба помочь с макросом на Маке:

на винде записал макрос, тут надо его на маке было запустить

но 1ая строка макроса и не читается, пишет что "Подстрочные знаки ошибка"

сама команда Windows("total.xlsx").Activate есть в VBA Mac, т.к. если удалить Activate и нажать ".", то появляется список в котором есть Activate

пытался добавлять путь "Users/ttt/total.xlsx" к примеру - тоже не работает
нажимал запись макроса и переключался между файлами - это действие не отображалось в коде записанного макроса


собственно, сам макрос простой: переключается между окнами, копирует таблицы через Ctrl+Shift+вправо+вниз и вставляет на строку 900000 и далее удаляет пустые строки, чтобы склеить таблицы - в цикле for i

не знаю как его запустить на Маке


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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
Sub total_1()
'
 total_1
'
 
'
    Windows("total.xlsx").Activate
    
    ActiveCell.FormulaR1C1 = "1"
    Range("A1").Select
    Selection.Copy
    Range(Selection, Selection.End(xlDown)).Select
    ActiveSheet.Paste
    Range("B2").Select
    Application.CutCopyMode = False
    Selection.Copy
 
    For i = 1 To 36
    
            Windows(" i & ".xlsx").Activate
 
    
    Range("b2").Select
    Selection.Copy
 '   Range(Selection, Selection.End(xlDown)).Select
    Windows("total.xlsx").Activate
    Range("B900000").Select
    ActiveSheet.Paste
            Windows(" i & ".xlsx").Activate
    Range("A6").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("total.xlsx").Activate
    Range("C900000").Select
    ActiveSheet.Paste
    Range("B900000").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("C900000").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range("B1000000").Select
    Range(Selection, Selection.End(xlUp)).Select
    Range("B900001:B1000000").Select
    Range("B1000000").Activate
    ActiveSheet.Paste
    Range("B900000").Select
    Range(Selection, Selection.End(xlUp)).Select
    Range("A900005").Select
    Range(Selection, Selection.End(xlUp)).Select
    Range("B1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range("C900000").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("C899999").Select
    Range(Selection, Selection.End(xlUp)).Select
    Range("C1").Select
    ActiveSheet.Paste
    Range("B1").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "store"
    Rows("2:2").Select
    ActiveWindow.FreezePanes = True
    Rows("1:1").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A:$S").AutoFilter Field:=3, Criteria1:="="
    Rows("2:2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Delete Shift:=xlUp
    Range("B1296").Select
    ActiveSheet.ShowAllData
    
    
    Range("A1").Select
    Selection.Copy
    'Range(Selection, Selection.End(xlDown)).Select
    'Range(Selection, Selection.End(xlDown)).Select
    
    Range("A1:A1048576").Select
    ActiveSheet.Paste
    Range("B3").Select
    
            Windows(" i & ".xlsx").Activate
    ActiveWindow.Close
    
    
        Next i
    
   
    
    
    
    
    
End Sub
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2018, 20:54
Ответы с готовыми решениями:

Total Commander находит по содержимому по слову в файлах xls находит, а в xlsx - нет!
Здравствуйте, Total Commander находит по содержимому по слову в файлах xls находит, а в xlsx - нет!...

Next Windows.Activate
Здравствуйте форумчане! Какой код отвечает за переключение книг? мне нужно что то типа следующая....

При открытии даже файла .xlsx или .xls открывается программа с пустым экраном
Добрый день всем. Выполнили инсталл office 2016 с последующим удалением office 2007 на машину с ОС...

Windows 7 не читает некоторые диски. Файловая система UDFR 1.02 Файлы видет, но не читает
Здравствуйте. у меня странная проблема с чтением дисков blu-ray и DVD. тут опишу про blu-ray, но с...

Привод DVD диск читает, а CD-R\RW вообще даже не видит!
люди, хелп, плиз! У меня DVD-ROM, не пишущи DVD. Но проблема в том, что DVD диск он читает отменно,...

4
35 / 35 / 9
Регистрация: 16.07.2012
Сообщений: 253
13.03.2018, 22:51 2
lllllllll, вижу ошибку в следующих строках:
Visual Basic
1
Windows(" i & ".xlsx").Activate
правильно должно быть так:
Visual Basic
1
Windows("i" & ".xlsx").Activate
В остальном, ошибка возникает у Вас именно на строке 7?
Visual Basic
1
Windows("total.xlsx").Activate
(ссылаюсь на нумерацию строк в Вашем посте).

Название total.xlsx это название книги с которой запускается макрос? Если да, попробуйте использовать переменную и присвоить ей имя рабочей книги изначально.
Например:
Visual Basic
1
wn = ActiveWindow.Caption
а затем использовать переменную:
Visual Basic
1
Windows(wn).Activate
Какая именно ошибка у Вас возникает?

Что в общем то должен делать макрос, опишите может я смогу его проще написать что бы он работал на винде и маке.

Добавлено через 8 минут
И почему у Вас в начале кода задано имя макроса?
total_1 ? Его не должно там быть
1
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
13.03.2018, 22:57 3
Цитата Сообщение от zewsua Посмотреть сообщение
правильно должно быть так:
Visual BasicВыделить код
1
Windows("i" & ".xlsx").Activate
???
Правильно скорее так (исходя из логики кода):
Visual Basic
1
Windows(i & ".xlsx").Activate
По первому вопросу - точно есть в этом экземпляре приложения Windows("total.xlsx")? Может быть нужно искать Windows("total"), кто их там этих маков знает...
1
35 / 35 / 9
Регистрация: 16.07.2012
Сообщений: 253
14.03.2018, 09:55 4
Цитата Сообщение от Hugo121 Посмотреть сообщение
Правильно скорее так (исходя из логики кода):
Visual Basic
1
Windows(i & ".xlsx").Activate
согласен, затупил, там же i как переменная а не текст
0
2 / 2 / 0
Регистрация: 19.07.2011
Сообщений: 63
14.03.2018, 12:21  [ТС] 5
Спасибо за ответы и исправления!

Цитата Сообщение от zewsua Посмотреть сообщение
И почему у Вас в начале кода задано имя макроса?
total_1 ? Его не должно там быть
да, забыл апостроф комментария " ' " поставить, это обычно система пишет название макроса так

Цитата Сообщение от Hugo121 Посмотреть сообщение
Может быть нужно искать Windows("total")
понял, попробуем без xlsx

Цитата Сообщение от zewsua Посмотреть сообщение
Какая именно ошибка у Вас возникает?
Что в общем то должен делать макрос, опишите может я смогу его проще написать что бы он работал на винде и маке.
да, на строке 7 останавливается и пишет что "Подстрочные символы ошибка"

идеальный вариант: есть папка с excel-файлами (априори xlsx), в каждом таблица с одинаковым порядком колонок начинается с A1 (в текущем тексте макроса я делаю с A6, т.к. это с другого макроса пытался применить, где таблица с A6 начиналась и в B2 ещё название магазина), нужно склеить в 1 таблицу (файл total.xlsx к примеру)

вариант который я для начала пытался реализовать: допустим вручную переименую файлы в 1.xlsx 2.xlsx .. 30.xlsx, далее через Ctrl+Shift+вправо+вниз выделяю всю таблицу и вставляю её в total.xlsx в строку 900000, перед этим протягиваю в колонке A единицу чтобы таблица определялась до 1048576 строки, далее удаляю пустые строки и снова в цикле протягиваю 1 в колонке A с 1 по 1048576 строки
0
14.03.2018, 12:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.03.2018, 12:21
Помогаю со студенческими работами здесь

Даже в безопасном режиме Mac OS не загружается
Макбук не загружается, в безопасном режиме появляются следующие Сообщения. Прошу помощи. Заранее...

Run-time error '9': Subscript out of range на Windows.Activate()
Доброго времени суток всем! Обновил Office с 2010 до 2013 и начала вылетать ошибка Run-time error...

Система не читает флешки, однако, даже после поиска драйверов говорит, что все в порядке
После переустановки системы ноутбук не читает флешки. В диспетчере устройств флешка с желтым...

Почему я могу изменить mac адрес полностью, даже OUI часть
Здравствуйте. Почему я могу изменить mac адрес полностью, даже OUI часть, ведь она вроде как...

В чём разница между total = total + trans и total += trans?
Добрый день. Изучаю четвертое издание Липпмана. Автор задает вопрос: "В программе книжного...

Windows(FileName).Activate Перестал правильно работать без указания расширения ".xls"
Я не программист, но приходится иногда «с книжкой на коленках». В 1990-м году чуть-чуть...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru