Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Исправить крокозяблики в содержимом переменной после копирования текста из VBE
 
Иногда в коде некоторые комментарии хочется выделить заглавными буквами, чтобы выглядело как заголовок. Делаю процедуру преобразования текста в верхний регистр, чтобы повесить её на сочетание клавиш (разумеется, для этого нужно будет сперва переключиться в эксель).
Код
Public Sub UPPERCASE()
Dim ClipBoard As New DataObject
Dim a$, b$
ClipBoard.GetFromClipboard
a = ClipBoard.GetText
b = StrConv(a, vbUpperCase)
ClipBoard.SetText b
ClipBoard.PutInClipboard
End Sub

Когда был скопирован русский текст, но стояла английская раскладка, переменная a получает крокозяблики. Как исправить?
Запустить на Win64 GetMem4()
 
Добрый день. Тема избитая, но запустить GetMem на 64-разрядном офисе не получается.
Нужно, чтобы заработала, например, такая конструкция:
Код
Dim SA_addr as Long, Arr()
Arr=Array(1,2,3)
'получить адрес структуры SAFEARRAY массива Arr
GetMem4 ArrPtr(Arr), SA_addr
Декларации для 32р такие:
Код
Private Declare Function ArrPtr Lib "msvbvm60" Alias "VarPtr" (Arr() As Any) As Long
Private Declare Function GetMem4 Lib "msvbvm60" (ByVal SrcAddr As Long, ByRef Dst_varName As Long) As Long
Оптимизировать формулу подсчёта максимального числа значений в диапазонах
 
Добрый день.
В примере лежит формула, определяющая максимальное число заполненных ячеек в указанных диапазонах. Мне она не нравится, т.к. вычисляется она не на листе формулой, а из кода в событии Worksheet_Change только для той таблицы, где произошли изменения.
Я сделал это 6ю отдельными строчками Application.Count() для 6 диапазонов, результаты записываются в массив, а потом у массива берётся Application.Max(). Cинтаксис  получается длинный и некрасивый.
Может ли кто подсказать, как можно упростить эту формулу? Приемлемы все варианты: формулой (можно исп. летучие ф-ции), можно из кода через Evaluate(), можно через WorksheetFunction(). В книге созданы имена Склад1 ... Склад6, можно привязываться к ним.
Подсветка аргументов UDF при вызове с листа
 
Добрый день.
Кто подскажет, как сделать, чтобы при вызове UDF с листа, Excel подсвечивал аргументы UDF, как это сделано у встроенных функций?
Сослать объектную переменную на запущенное приложение экселя в отдельном процессе
 
Всем привет!
Задача такая. Из одной книги создаётся новое приложение экселя, а значит это получается отдельный процесс (нужно именно так). В исходной книге возможно будет переход в режим конструктора, а значит все переменные теряются. Но созданная книга осталась запущенной и к ней потом нужно будет обращаться, а её объектная переменная уже не существует. Как её поднять?

Например:
Dim app As New Excel.Application, wb as Workbook
Set wb = app.Workbooks.Open("путь_к_книге" ;)

как мне восстановить значения app или wb после их обнуления?
Страницы: 1
Наверх