Remkomplekty.ru

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Excel vba mac os

Excel vba mac os

Тема совместимости макросов для Win Excel и Mac Excel не нова. В этой статье попробуем разобраться, какие правила следует соблюдать, чтобы добиться возможности работать с файлами Excel как под Windows, так и под MacOS.

Правило первое: откажитесь от кириллицы, в идеале — везде (в тексте кода, названиях модулей, в формах и т.д.). Если это никак невозможно, то откажитесь хотя бы от русских заглавных букв. Дело в том, что у Windows и MacOS различаются кодировки, поэтому заглавные русские буквы коверкаются при открытии файла в разных ОС.

Нетрудно догадаться, что если файл создан в Win Excel, а потом открыт в Mac Excel (или наоборот), заглавные русские буквы в макросах, на формах, в именах модулей будут выглядеть кракозябрами

А вот так выглядит форма с русскими заглавными буквами, которую всего лишь раз открыли на Mac Excel

Правило второе , вытекающее из первого: присвойте листам кодовые имена, записанные латиницей. Кодовое имя листа — это имя модуля листа.
Изменить его можно в свойствах:

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

Правило третье , вытекающее из первого: если Вы собираетесь макросом копировать, перемещать, переименовывать файлы, путь к файлу тоже должен содержать только латинские буквы.

Правило четвёртое: в модулях листов и модуле книги размещайте только макросы событий соответственно листа и книги, остальные макросы должны находиться в стандартных модулях

Отдельно надо сказать про формы. В Mac Excel 2011 был инструмент для создания и редактирования форм, в Mac Excel 2016 этого инструмента попросту нет. То есть файлы с уже созданными формами открываются и работают, но редактировать форму мы не сможем. На формы также распространяется правило НЕиспользования кириллицы.

Что касается самого кода, то тут следует помнить, что Mac Excel не умеет работать с некоторыми объектами, например, со словарями (Dictionary), с регулярными выражениями (RegExp) и др.

Кроме того, многие приёмы по-разному реализуются для Win Excel и Mac Excel. Например, совершенно по-разному реализована возможность открытия файла через диалог.
Более того, различия могут быть также между версиями Mac Excel. Например, если в макросе предполагается использовать путь к файлу, то в Mac Excel до 2011 включительно системным разделителем является двоеточие
Macintosh HD:Users:elena:Desktop:test.xlsm

А в Mac Excel 2016 системным разделителем будет слэш
/Users/elena/Desktop/test.xlsm

Таким образом, если мы хотим, чтобы наш файл с макросами работал и под Windows, и под MacOS, да ещё и в разных версиях Mac Excel, можно использовать такую конструкцию

MacLochlainns Weblog

Michael McLaughlin’s Technical Blog

Excel 2011 supports UDFs?

I had a chance (30 minutes) to play with Excel 2011 on the Mac OS X today. I was shocked to discover that Excel 2011 didn’t appear to support User-Defined Functions (UDFs) like Excel 2010 for Windows. My understanding was that this release would be one where it implemented Visual Basic for Applications (VBA) like Windows. Initially I thought it didn’t but I bought my own copy, did a full install with Visual Basic, and it appears that Microsoft has delivered. Oops, my bad for assuming the machine I played on originally had a solid installation. It appears to have had only a standard installation.

Watch out because UDFs fail with a #NAME! error on a standard install of Excel 2011. While they’re found in the Insert Function dialog in both cases, they only appear to work with a full installation. The downside for Insert Function is that, like Excel 2008, it has no quick poplist to narrow the function choices to groups. We have the big list once more.

Here are my test functions:

Function hello() hello = «Hello World!» End Function Function hellowhom(nameIn As Variant) hellowhom = «Hello » + CStr(nameIn) + «!» End Function

I think I found the trick to get Excel 2011 recognize and run User-Defined Functions. Make sure you do a custom installation and check Visual Basic for Application. Anyway, you can test these functions like that shown below. Column A contains the text of the formulas (a preceding single quote does that), and column B contains actual function calls.

Enabling the Developer ribbon took a few moments when I got my own copy. I figured that updating this was better than making a new post on the blog and linking them. It’s a three step process.

  1. Navigate to the Excel menu item and select Preferences…, as shown below.

  1. In the Excel Preferences shown below, click the Ribbon icon.

  1. In the Show or hide tabs, or drag them into the order you prefer: box shown below, enable the Developer checkbox.

It’s awesome, now accountants and economists can switch to Mac OS X without having to host a virtual machine with Microsoft Excel.

Читать еще:  Vba excel функции даты и времени

excel-vba-mac

Привет я пытаюсь перечислить все файлы в подкаталоге, где находится книга Excel. По какой-то причине код не может выполняться за…

Хорошо, для тех, кто знает, что являются мастерами в Excel VBA, у меня есть выпадающее меню компаний, которое заполнено списком…

Я работаю над чем-то внутри asp.net для этого необходимо разрешить пользователю изменять содержимое информации в текстовой области. То, что происходит,…

Я разработал макрос VBA Excel 2010, который использует VBScript.RegExp. Один из моих пользователей, по-видимому, использует Excel Mac 2011, который поддерживает…

Я пытаюсь прочитать определенный набор столбцов из книги (каждую неделю это новая книга) и скопировать их в другую книгу. Это…

Мой первый пост здесь, поэтому я постараюсь сделать его максимально кратким. Мне нужно добавить некоторые функции в электронную таблицу, которая…

Я работаю над задачей, где пользователи сначала вводят столбец от «A” до «Z», а затем номер строки от 1 до…

‘ Create the Connection and Recordset objects. Set conn = New ADODB.Connection Set rs = New ADODB.Recordset Dim val As…

Кажется, старые макросы не работают. У меня есть правильный набор securtiy для запуска макросов VBA, но когда я попробовал несколько…

Я надеюсь, что кто-то может помочь, название говорит все это на самом деле, но вот в глубине немного. Запуск Excel…

Я пытаюсь написать макрос, который удалит какой-то дублированный идентификатор из одиночного столбца, чтобы он появился только один раз в столбце…

Найти следующий вопрос для переполнения стека У меня есть то, что превращается в длинный сценарий VBA. Цель состоит в том,…

Ищем справку по довольно простому макро excel, чтобы прочитать значение в ячейке на одном листе Excel, а затем найти это…

У меня есть полностью функциональный макрос, который я пытаюсь преобразовать в надстройку, чтобы я мог использовать его на всех документах…

и прости за мой плохой английский. Сценарий: в первом листе у меня есть лист с двумя столбцами-Category и ID: A1…

Я пишу модуль, который открывает каждую книгу в папке и копирует из нее некоторую информацию. Он работает гладко на большинстве…

Я создал форму пользователя с одним кадром, имеющим некоторые флажки. Рядом с кадром у меня кнопка. Поток, как я должен…

Я бы хотел, чтобы этот код сохранял имя изображения из значения в ячейке. Например, если» кошка » была в камере…

Приведенный ниже код подходит для изменения размера одной диаграммы на листе или размера нескольких диаграмм до одного размера. Я ищу…

Я получаю ошибку 2147467259 (80004005) при запуске следующего кода в Excel Private Sub Button1Query_Click() Dim OutLookApp As Object Dim OutLookMailItem…

Я использовал vbscript для копирования и вставки данных в Excel через командную строку. Я хотел бы выполнить ту же работу…

Мне очень нужна помощь. Я искал решение в течение почти месяца (не постоянно), но я не мог найти способ заставить…

В настоящее время я использую главную книгу Excel, где информация о членстве вводится в диапазоны набора, например, «член» относится к…

У меня есть документ Word, основанный на шаблоне для счетов-фактур и базы данных в Excel, содержащей две таблицы: компания и…

Я использую один столбец данных, который содержит несколько причуд. Я включил код VBA ниже деталей моей проблемы. Пример организации данных:…

У меня есть сводная таблица с одним полем столбца даты. Я хочу, чтобы столбец был сгруппирован по 7 дням, а…

Ftp не требует учетных данных. Я никогда не работал с VBA раньше, но я предполагаю, что это может быть сделано….

Мне нужен макрос, который обходит столбец C и находит повторяющиеся значения и копирует их в col D, как только дублирующее…

У меня есть столбец значений (например, J9264, J9000 и т. д…) Мне нужно найти ряд 100-200 значений из листа 1…

Я пытаюсь открыть код VBA в Excel Mac 2011, который был написан с Excel 2010 на компьютере Windows. Я могу…

Я не могу получить форматы сводных таблиц для копирования, я могу только получить значения для передачи. Я использую этот пост…

Im ищет синтаксис кода, который задает непрозрачность заполнения ячеек цветом (светлее или темнее) в зависимости от условий, которые выполняются или…

У меня есть столбец, который содержит текст, состоящий из буквенно-цифровых символов со специальным символом’ -‘, как Kat-1, Amp-2, Xua-09 и…

Ошибка «Переменная использует неподдерживаемый тип автоопределения» в редакторе Visual Basic в Excel для Mac

Последнее обновление: 10 апреля 2019 г.

В октябре 2017 г. в Excel для Mac появился новый редактор Visual Basic. В этом новом редакторе VB наблюдается проблема при объявлении объектов путем выбора из раскрывающегося меню в верхней части окна ввода кода.

Если щелкнуть раскрывающийся список в левой части экрана и выбрать элемент из списка, в раскрывающемся списке в правой части экрана вы должны получить часть кода для выбранного события. Вы можете выбрать дополнительные элементы в раскрывающемся списке в правой части экрана, чтобы создать дополнительный программный код для обработки выбранного события.

Читать еще:  Ограничение строк в excel

Вместо этого происходит ошибка, указывающая, что код не создан.

СОСТОЯНИЕ: ВРЕМЕННОЕ РЕШЕНИЕ

Выберите один из следующих путей временного решения этой проблемы:

ВРЕМЕННОЕ РЕШЕНИЕ 1

Вы можете выполнить похожее действие на компьютере с Excel для Windows и скопировать код в Excel для Mac.

ВРЕМЕННОЕ РЕШЕНИЕ 2

Вы можете перейти на сайт MSDN и найти синтаксис для события, который хотите использовать, а затем ввести код вручную в свой проект VBA. В этой статье описаны события «workbook» в Microsoft Excel: События Workbook.

ВРЕМЕННОЕ РЕШЕНИЕ 3

Скопируйте соответствующий код для события из примеров ниже и вставьте его в свой проект VBA. Для каждого события не забудьте скопировать текст от «Private Sub. » до «End Sub» включительно.

Private Sub Workbook_Activate()
End Sub

Private Sub Workbook_AddinInstall()
End Sub

Private Sub Workbook_AddinUninstall()
End Sub

Private Sub Workbook_AfterRemoteChange()
End Sub

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
End Sub

Private Sub Workbook_BeforePrint(Cancel As Boolean)
End Sub

Private Sub Workbook_BeforeRemoteChange()
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
End Sub

Private Sub Workbook_Deactivate()
End Sub

Private Sub Workbook_NewChart(ByVal Ch As Chart)
End Sub

Private Sub Workbook_NewSheet(ByVal Sh As Object)
End Sub

Private Sub Workbook_Open()
End Sub

Private Sub Workbook_PivotTableCloseConnection(ByVal Target As PivotTable)
End Sub

Private Sub Workbook_PivotTableOpenConnection(ByVal Target As PivotTable)
End Sub

Private Sub Workbook_RowsetComplete(ByVal Description As String, ByVal Sheet As String, ByVal Success As Boolean)
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
End Sub

Private Sub Workbook_SheetBeforeDelete(ByVal Sh As Object)
End Sub

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
End Sub

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
End Sub

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
End Sub

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
End Sub

Private Sub Workbook_SheetPivotTableAfterValueChange(ByVal Sh As Object, ByVal TargetPivotTable As PivotTable, ByVal TargetRange As Range)
End Sub

Private Sub Workbook_SheetPivotTableBeforeAllocateChanges(ByVal Sh As Object, ByVal TargetPivotTable As PivotTable, ByVal ValueChangeStart As Long, ByVal ValueChangeEnd As Long, Cancel As Boolean)
End Sub

Private Sub Workbook_SheetPivotTableBeforeCommitChanges(ByVal Sh As Object, ByVal TargetPivotTable As PivotTable, ByVal ValueChangeStart As Long, ByVal ValueChangeEnd As Long, Cancel As Boolean)
End Sub

Private Sub Workbook_SheetPivotTableBeforeDiscardChanges(ByVal Sh As Object, ByVal TargetPivotTable As PivotTable, ByVal ValueChangeStart As Long, ByVal ValueChangeEnd As Long)
End Sub

Private Sub Workbook_SheetPivotTableChangeSync(ByVal Sh As Object, ByVal Target As PivotTable)
End Sub

Private Sub Workbook_SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable)
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
End Sub

Private Sub Workbook_SheetTableUpdate(ByVal Sh As Object, ByVal Target As TableObject)
End Sub

Private Sub Workbook_Sync(ByVal SyncEventType As Office.MsoSyncEventType)
End Sub

Private Sub Workbook_WindowActivate(ByVal Wn As Window)
End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
End Sub

Private Sub Workbook_WindowResize(ByVal Wn As Window)
End Sub

Private Sub Worksheet_Activate()

Private Sub Worksheet_BeforeDelete()

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

Private Sub Worksheet_Calculate()

Private Sub Worksheet_Change(ByVal Target As Range)

Private Sub Worksheet_Deactivate()

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

Private Sub Worksheet_LensGalleryRenderComplete()

Private Sub Worksheet_PivotTableAfterValueChange(ByVal TargetPivotTable As PivotTable, ByVal TargetRange As Range)

Private Sub Worksheet_PivotTableBeforeAllocateChanges(ByVal TargetPivotTable As PivotTable, ByVal ValueChangeStart As Long, ByVal ValueChangeEnd As Long, Cancel As Boolean)

Private Sub Worksheet_PivotTableBeforeCommitChanges(ByVal TargetPivotTable As PivotTable, ByVal ValueChangeStart As Long, ByVal ValueChangeEnd As Long, Cancel As Boolean)

Private Sub Worksheet_PivotTableBeforeDiscardChanges(ByVal TargetPivotTable As PivotTable, ByVal ValueChangeStart As Long, ByVal ValueChangeEnd As Long)

Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)

Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Private Sub Worksheet_TableUpdate(ByVal Target As TableObject)

Дополнительные ресурсы

Общение с экспертами

Обращайтесь к экспертам, обсуждайте новости, обновления и рекомендации для Excel, а также читайте наш блог.

Задавайте вопросы сотрудникам службы поддержки, MVP, инженерам и другим пользователям Excel и находите решения.

Предложение новых функций

Мы будем рады вашим отзывам и предложениям. Вам наверняка есть, что сказать. Поделитесь с нами своими мыслями.

8 советов по работе с Excel 2016 для Mac

С момента выхода Excel 2016 для Mac пользователи постоянно говорят нам о том, как просто с ним работать и как удобны его новые возможности. Сегодня мы расскажем о функциях Excel 2016 для Mac, которые особенно нравятся людям, а также поделимся полезными советами. Они помогут вам сэкономить массу времени с помощью самого мощного средства для работы с электронными таблицами и анализа данных на платформе Mac.

Читать еще:  Формула подсчета символов в excel

1. Рекомендуемые диаграммы

Выбрать наилучший тип диаграммы для представления данных бывает непросто. Функция «Рекомендуемые диаграммы» облегчит эту задачу. С ее помощью вы сможете просмотреть, как выделенные данные будут выглядеть на той или иной диаграмме, и только потом определиться с окончательным вариантом. Чтобы просмотреть рекомендуемые типы диаграмм, выделите ячейку в диапазоне данных для визуализации, а затем на вкладке ленты «Вставка» выберите команду Рекомендуемые диаграммы.

2. Построитель формул

Если вам трудно запоминать функции или синтаксис Excel, вам поможет новый построитель формул. Он позволит без лишних усилий создавать формулы в Excel 2016 для Mac. Вы сможете находить и вставлять функции, добавлять данные к заданным аргументам функций и узнавать справочные сведения о любых функциях. Чтобы открыть построитель формул, просто нажмите на кнопку fx в строке формул либо сочетание клавиш SHIFT+F3 на клавиатуре.

3. Область задач «Форматирование» для диаграмм

В Excel 2016 для Mac доступен широкий набор функций, которые упрощают создание и настройку диаграмм. Одна из таких удобных функций — область задач «Форматирование». Именно здесь собраны все различные варианты оформления. Причем в этой области задач можно изменять не только диаграммы, но и фигуры и текст в Excel.

Чтобы открыть область задач «Форматирование», на вкладке ленты Формат нажмите на кнопку Область форматирования или нажмите сочетание клавиш CMD+1, предварительно выделив элемент диаграммы.

4. Срезы сводных таблиц

Срезы служат для фильтрации данных в отчете сводной таблицы. С помощью набора кнопок вы сможете найти элементы для фильтрации, не используя раскрывающиеся списки. Создать срез легко: просто выберите сводную таблицу для фильтрации, а затем на вкладке ленты Анализ сводной таблицы нажмите на кнопку Вставить срез. Чтобы отфильтровать данные сводной таблицы, просто нажимайте на кнопки в срезе.

5. Data Analysis ToolPak

Все еще ждете надстройку для анализа данных в Excel для Mac? Теперь она у вас будет! С ее помощью можно выполнять сложные виды статистического или инженерного анализа. Подготовьте данные и параметры для анализа — и этот инструмент, применив подходящие статистические или инженерные макрофункции, вычислит результаты и покажет их в таблице вывода. Помимо таблиц вывода, некоторые инструменты также создают и диаграммы.

Чтобы включить эту надстройку, в меню Средства выберите Надстройки, затем Data Analysis ToolPak и нажмите кнопку ОК. Data Analysis ToolPak будет отображаться на вкладке ленты Данные.

6. Другие (и новые) сочетания клавиш

При создании Office 2016 для Mac мы старались сделать так, чтобы пользователям было удобно переходить от Office для Windows к Office для Mac и обратно. Вот почему интерфейс похож на Office 2016 для Windows и поддерживаются почти все сочетания клавиш Excel для Windows. К радости пользователей Windows, все основные команды Windows также работают и в версии для Mac. Так, CTRL+O позволит открыть файл, CTRL+F служит для поиска, а CTRL+C — для копирования. Поэтому нажимать клавишу CMD вместо CTRL вовсе необязательно. Чтобы удалить содержимое выделенной ячейки или диапазона, просто нажмите клавишу DELETE. Эта функция работает даже на ноутбуках Mac, где клавиша удаления — BACKSPACE. Ниже приводится список популярных сочетаний клавиш:

Обратите внимание, что если клавиша функции не работает должным образом, нажмите вместе с ней клавишу FN. Чтобы не делать этого каждый раз, можно изменить системные настройки Apple:

  1. Выберите Apple >Системные настройки >Клавиатура.
  2. На вкладке Клавиатура выберите команду Использ. клавиши F1, F2 и т. д. как стандартные функциональные клавиши.

7. Новые функции в Excel 2016 для Mac

Мы очень старались, чтобы ваши книги Excel были совместимы с любыми платформами и отлично работали на любых устройствах. В Excel 2016 для Mac мы добавили почти все новые функции формул, которые есть в Excel 2013 для платформы Windows. Оцените, к примеру, функцию преобразования в арабские цифры: введите, скажем, =ARABIC(“LVII”) и посмотрите, что получилось.

Обратите внимание, что функции WebService, EncodeURL и FilterXML пока недоступны в Excel 2016 для Mac.

8. Получение данных с помощью SQL Server ODBC

Наконец-то вы сможете отказаться от сторонних драйверов при подключении к внешним данным в Excel для Mac. В Excel 2016 для Mac предустановлен и интегрирован драйвер SQL Server ODBC, поддерживающий подключение к данным ODBC на основе баз данных SQL Server и Azure SQL. Кроме того, в программе реализованы совершенно новые технологии Microsoft Query (MSQuery) и диспетчеры подключений, благодаря которым создавать подключения к данным и управлять ими стало проще — почти как в Windows.

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector
×
×