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

Страницы: 1
Передать данные из Excel в Google Sheets.
 

Здравствуйте. Как можно передать данные определенного диапазона ячеек из Excel в Google Sheets?

Как передавать аргументам UDF «неограниченное» кол-во элементов?
 
Здравствуйте. Хочу написать UDF функцию, чтобы можно было её аргументам передавать несколько значений, которые впоследствии будут обрабатываться, и т.д.
Я так понимаю, что использовать «ИЛИ» и «И» в UDF нельзя. И выходом из ситуации является использовать ParamArray. Но у меня не получается использовать ParamArray для более чем одного аргумента. Как можно нескольким аргументам функции передавать «неограниченное» кол-во элементов?

Код
Т.е. хочу сделать так:
Function myUDF(arg1, arg2, arg3, ParamArray arg4(), ParamArray arg5(), ParamArray arg6())

Код
А могу только:
Function myUDF(arg1, arg2, arg3, ParamArray arg4())

Изменено: rud.666 - 22.05.2021 06:25:44
Как сделать объединенную ячейку в линейку, как в школьной тетрадке?
 

Здравствуйте!

Как в Excel можно сделать объединенную ячейку в линейку, как в школьной тетрадке?

Если делать подчеркивание, то подчеркиваются только слова, т.е. линия не доходит до конца ячейки (можно сделать подчеркивание по ячейке, но это работает только в случае одной строки в ячейки).

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

Изменено: rud.666 - 21.03.2021 14:20:25 (Изменил текст в файле примере)
Как нажать кнопку(control As IRibbonControl) из надстройки?
 

Здравствуйте! Хочу нажать кнопку, которая расположена на ленточном интерфейсе макросом, но не получается.

Код из надстройки:

Код
Sub myButton(control As IRibbonControl)   
'хочу вызвать этот макрос
MsgBox "Вы нажали на кнопку!"
End Sub

Sub test(myText As String)   
MsgBox myText
End Sub

'Код из Ribbon панели:
<button id="ItemID" label="Моя кнопка" onAction="myButton" imageMso="AcceptTask" size="large" visible = "true"/>

Макрос тест могу вызвать так:

Код
Sub вызываюМакросТест()
Application.Run "НадстройкаМоя.xlam!Module1.test", "вы вызвали макрос test"
End Sub

Пытаюсь аналогичным способом вызвать макрос «myButton», но не получается. Не знаю, что передавать переменной control. Хочу это сделать, не меняя код из надстройки. Для полноты эксперимента надстройка защищена паролем. Пароль = 123.

Изменено: rud.666 - 07.03.2021 06:31:59 (Добавил файлы)
Создать Excel таблицу в Web.
 

Здравствуйте. У меня есть желание перевести некоторые свои эксельки на сайт. Хочу у вас узнать, как это сделать лучше всего. Есть ли у кого-нибудь подобный опыт?

Мне нужно создать таблицу 20*30 ячеек, и там должен выполняться подобный код:

Код
Sub primer()
Dim cell As Range
    For Each cell In Selection
        cell.Value = cell.Offset(1, 0)
    Next cell
End Sub

Что нужно, чтобы этот код заработал:

  1. у ячеек должны быть адреса. Решение – в таблице HTML для каждой ячейки вручную прописывать ID. (Можно текст кода для таблицы HTML сформировать макросом, но всё равно выглядит как костыль)

  2. нужно определять, какие ячейки в таблице HTML выделены. Решения не нашел, может, нужно как-то преобразовать вот это.

  3. всё должно пересчитываться без обновления страницы. Решение - делать сайт PWA (наверное, тут множество решений)

P.S. и наверное, нужно делать каждую ячейку отдельным объектом. Пока не особо представляю, как это буду делать.

Прошу поделиться опытом и советами, в какую сторону гуглить, и т.д.

Изменено: rud.666 - 25.12.2020 17:45:13
Гистограмма на основе формулы
 

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

Своё выпадающее меню при нажатии ПКМ по фигуре
 

Здравствуйте. Можно ли сделать так: нажимаешь ПКМ на одну фигуру, появляется одно меню, нажимаешь на другую, другое меню?

Получается проделать такой фокус с разными диапазонами, а с фигурами - нет. Не знаю как определить имя активной фигуры, и еще, если не сбрасывать старое меню (Application.CommandBars("Cell").Reset), то оно не появляется при нажатии ПКМ по фигуре.

VBA не видит открытую книгу, (не сохранённая выгрузка данных в Excel)
 

Здравствуйте. У меня возникла такая проблема. Одна программа выгружает данные в Excel. После этого мне нужно копировать эти данные макросом в другой файл, но не получается: VBA не видит эту книгу. Если активирую эту книгу, и запускаю макрос msgbox activeworkbook.name, то выводится имя предыдущей активной книги, если запускаю цикл по перебору имён всех открытых книг, то выводятся все книги, кроме этой. И в окне Project-VBAProject эта книга не отображается. Когда эту книгу закрываю с сохранением, и потом открываю, то все работает как надо. Как тогда скопировать данные макросом не знаю. Excel 2010.

Изменено: rud.666 - 17.10.2020 17:52:34
Закрыть файл Excel из сетевой папки, который открыт другим пользователем.
 

Здравствуйте. При копировании данных из первого файла Excel во второй файл Excel, нужно, чтобы второй файл не был открыт другим пользователем. Если второй файл Excel открыт, можно ли его как-нибудь закрыть? Или узнать имя пользователя, который его открыл? Или сделать разрешение только на просмотр файла, но разрешить редактирование его макросом?

Два диапазона в одну переменную
 

Здравствуйте. Подскажите, можно ли как-нибудь в одну переменную вместить два диапазона, если эти диапазоны на разных листах? И можно ли в таком случае записывать не адреса ячеек, а давать ссылки на умные таблицы? Файл и мой макрос, наверное, излишние, но на всякий случай прикреплю.

Код
Sub макрос()Dim диапазон1, диапазон2, диапазон As Range
Set диапазон1 = Worksheets("Лист с диапазоном 1").Range("C6:C10")
Set диапазон2 = Worksheets("Лист с диапазоном 2").Range("C6:C10")
Set диапазон = ("диапазон1, диапазон2")
'Set диапазон = Range("Диапазон2[Диапазон2]") & Range("Диапазон1[Диапазон1]")    
For Each cell In диапазон    
MsgBox cell.Value    
Next
End Sub

Изменено: rud.666 - 10.10.2020 10:06:18
Гиперссылка на файл, устойчивая к переименованию названию файла
 
Здравствуйте. Подскажите пожалуйста, есть ли какой-нибудь способ создать в Excel гиперссылку на какой-нибудь файл (Word, например), чтобы эта ссылка не ломалась при изменений названия/пути файла?
Ошибка в UDF формуле после фильтра строк, Формула находится в строках, которые фильтруются.
 

Здравствуйте.

Формула ниже ищет адрес ячейки со словом из аргумента на неактивном листе.

Код
Function адрес_ячейки(ячейка As String)    
адрес_ячейки = Sheets("Март").Range("D17:D45").Find(What:=ячейка).Address
End Function

Делаю фильтр строк вручную, - всё нормально.

Делаю фильтр строк макросом:

Код
ActiveSheet.Range("$D$16:$E$39").AutoFilter Field:=2, Criteria1:="111"

значение формулы становиться “ЗНАЧ”. Нажимаю в ячейке формулы Enter, или сбрасываю фильтр - ошибки уходят. Можно ли как-то избавиться от этих ошибок? Формула находится в строках, которые фильтруются.

Как вариант, можно к макросу фильтра дописать такие строчки, но такой макрос работает медленно:

Код
For Each cell In Range("G17:G39")        
cell.Formula = cell.Formula    
Next
Изменено: rud.666 - 30.09.2020 21:01:31
Макросом определить адрес диапазона с данными для выпадающего списка
 
Здравствуйте.
Подскажите пожалуйста, как макросом узнать адрес диапазона ячеек, где лежат данные для выпадающего списка?

Допустим в ячейке А1 есть выпадающий список, с данными из ячеек В1:В10.
Как макросом узнать этот диапазон В1:В10?
Изменено: rud.666 - 28.09.2020 19:15:39
Совместное редактирование книги Excel
 

Здравствуйте.

Файл Excel лежит в OneDrive. Если открывать его через браузер, можно редактировать двумя пользователями одновременно. При открытии через Excel – нельзя. Изменения одного пользователя не видны другому пользователю. И когда файлы сохраняются, сохраняются две версии файла (с изменениями от одного пользователя, и от другого). И у другого пользователя к названию файла добавляется имя компьютера. Что не так? Ведь должно же получаться в Excel параллельное редактирование двумя пользователями?

Создание связи между ячейками, и определение переменной откуда куда копируется значение
 

Здравствуйте.

Ниже приведены строчки кода, которые переносят значение ячейки из одной ячейки в другую. Адреса ячеек определяются переменными. Можно ли как-нибудь устанавливать направление переноса, которое будет определяться, например, значением какой-нибудь переменной? Просто сейчас, если что-то меняется на листе Excel, то нужно редактировать макросы в двух местах для каждой связи, и это неудобно.

Код
C = 15
Worksheets("Ввод данных").Range("B22").Value = Worksheets("Архив").Cells(14, c).Value 

C = 15
Worksheets("Архив").Cells(14, c).Value = Worksheets("Ввод данных").Range("B22").Value

P.S. Знаю, что мою задачу упростит присвоение имен для ячеек, адреса которых не определяются переменными, но задание направления переноса было бы еще лучше.

Отследить/записать в переменную положение курсора в Excel
 
Здравствуйте. Это нужно для того, чтобы вставлять в разные места текста разные шаблонные фразы. Сейчас я это делаю так, как в файле, но если бы можно было отследить положение курсора, то было бы лучше.
Как сохранять файл надстройки для Word?
 
Здравствуйте!
Если я сохраняю документ как "шаблон с поддержкой макросов.dotm", и устанавливаю как надстройку, то надстройка работает, но потом нельзя открыть макросы. VBA пишет “project is unviewable”.
Как отправить по почте открытый файл Excel из One Drive?, Или как обратиться через VBA к файлу из One Drive?
 
Здравствуйте.

Макрос ниже отправляет активный файл по почте. Макрос работает с оффлайн файлами, но не работает с файлами, которые расположены в One Drive.
Код
Sub SendMail()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim cell As Range
     
    Application.ScreenUpdating = False
    Set OutApp = CreateObject("Outlook.Application")
    OutApp.Session.Logon
    On Error GoTo cleanup
    Set OutMail = OutApp.CreateItem(0)
    On Error Resume Next

    With OutMail
        .Attachments.Add ActiveWorkbook.FullName
        .Display
    End With
 
    On Error GoTo 0
    Set OutMail = Nothing
 
cleanup:
    Set OutApp = Nothing
    Application.ScreenUpdating = True
End Sub
Изменено: rud.666 - 01.07.2020 19:38:47
Выпадающий список с множеством условий
 

Здравствуйте.

Подскажите пожалуйста, как сделать выпадающий список с несколькими условиями?

Поиск по форуму дал множество примеров выпадающих списков только с одним условием (

Записать значение из объединенной ячейки в переменную при нажатии на ячейку.
 

Здравствуйте.

Приведенный ниже макрос не работает при нажатии на объединенную ячейку в столбце А. Что не так?

Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ячейка As Variant

        If Not Intersect(Target, Range("A1:A50")) Is Nothing Then
        Set ячейка = Selection
        MsgBox ячейка.Value
        End If

End Sub

Изменено: rud.666 - 25.05.2020 22:28:33
База данных в надстройке.
 

Здравствуйте.

Можно ли создать таблицу или какую-нибудь базу данных, которая будет храниться в файле надстройки.xlam, к которой я смогу обращаться через ВПР?

Запуск макроса при выделении объединенных ячеек из указанного диапазона.
 
Здравствуйте. Макрос ниже запускается только при выделении необъединенных ячеек из диапазона A5:A20.
Как сделать так, чтобы макрос запускался при выделении любых объединенных ячеек в диапазоне A5:A20?
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("A5:A20")) Is Nothing Then
   msgbox ("Привет!")
    End If
end sub
Выделение диапазона ячеек неактвного листа через InputBox
 
Здравствуйте.

Макрос ниже выводит в MsgBox ссылку на выделенный диапазон.
Вопрос: как сделать ссылку с названием листа? Сейчас указывается просто активный лист, а не тот лист, где выделялся диапазон.
Код
Sub ссылка_на_диапазон()
Dim список As Range, текст As String

Set список = Application.InputBox(prompt:="Выделите диапазон", Type:=8)

текст = "=" & ActiveSheet.Name & "!" & список.Address

MsgBox текст
End Sub
Поиск значения, сравнивая со значениями трех столбцов
 
Здравствуйте.

Подскажите, пожалуйста, как реализовать поиск по трем условиям, чтобы:
1) совпадало со словом из 1-го столбца
2) было больше, чем из 2-го столбца
3) было меньше, чем из 3-го столбца

Вариант, когда все условия суммируются через "&" в отдельном столбце не подходит, т.к. для моей задачи придется создавать миллион столбцов, либо макросом для каждого раза создавать столбец, получать результат, удалять столбец и т.д.
Есть решения попроще?
Как заменять файл надстройки.xlam?
 
Здравствуйте.

Сейчас есть 2 проблемы:
1) Когда в папке заменяю файл надстройки, надстройка сбрасывается, и нужно заново устанавливать.
2) Чтобы заменить файл, нужно чтобы все закрыли Excel (если .xlam в общей сетевой папке).

Или этих проблем не избежать?
Как использовать переменные в формулах (в макросах).
 
Здравствуйте. Подскажите, пожалуйста, как написать формулу ниже через переменные "а" и "b".
Код
a = ActiveWorkbook.Name     'Например, имя файла "Собака"
b = ActiveSheet.Name        'Например, имя листа "Жираф"

' строчки макроса...

Range("A1:C1").FormulaArray = "=TRANSPOSE('[Cобака.xls]Жираф'!A1:A3)"
Выравнивание текста по выделенным вертикальным ячейкам.
 
Здравствуйте. У меня получается выровнять текст по горизонтальным ячейкам. По вертикальным ячейкам не получается.
Через формат ячеек вроде нельзя, макросом ниже, например, тоже не получается.
Код
Sub Макрос1()
    With Selection
        .VerticalAlignment = xlCenterAcrossSelection
    End With
End Sub
Макрос для распечатки вложений из Outlook.
 
Нужен макрос для распечатки вложений из Outlook.
Как в спарклайне, в диапазоне данных, записать формулу?
 
В конечном итоге нужно сделать так: в определенной ячейке записываю "Март", и в этой ячейке появляется спарклайн-график марта.
Выпадающий список из нескольких списков
 
Здравствуйте! Как сделать выпадающий список из нескольких списков?

На всякий случай отправляю эксельку, где нужно сделать такой выпадающий список в зеленых ячейках.
Страницы: 1
Наверх