excel-vba- все статьи тега


Словарь VBA Excel внутри словаря поздняя привязка

Следующий код завершается ошибкой в инструкции debug Sub Tets() Dim cl_data As Object Set cl_data = CreateObject("Scripting.Dictionary") Dim row As Object Dim irow As Long For irow = 11 To 12 Set row = CreateObject("Scripting.Dictionary") With row row.Add "YN", Cells(irow, 2).Value row.Add "Comment", Cells(irow, 3).Value End With cl_data.Add Cells(irow, 1).Value, row Next irow Debug.Print cl_data(CStr(Cells(irow, 1)))("YN") End Sub Я пытаюсь сохранить данны ...

Извлечение обоих значений из 2 столбца ComboBox VBA

У меня есть форма пользователя (excel, VBA), где есть 2 столбца combobox. Когда пользователь выбирает определенное значение из выпадающего списка, я хочу получить значение, которое он выбрал, и значение, связанное с первым значением (т. е. значение второго столбца). Как мне это сделать? Просто ComboBox1.Value возвращает значение первого столбца. ComboBox1.Value(0) не работает. ...

Как вызвать функцию по клавише ENTER в Excel с помощью vba

Google должен предоставить мне достаточно примеров, но ни один из них, кажется, не работает Что я хочу: каждый раз, когда пользователь нажимает, а затем отпускает, клавишу ENTER, чтобы моя программа сделала что-то (т. е. создайте MsgBox или вызовите функцию Foo). Я бы предпочел это в форме MWE Что я сделал: я попытался погуглить его, но ни один из примеров не является функциональным. Они компилируются, но ничего не делают. Я также позаботился о сохранении в макросе совместимый формат Exce ...

Скрытие строк в Excel 2013

Таким образом, я пытаюсь скрыть строки в Excel 2013 с помощью VBA на основе нескольких различных условий: Если заголовок раздела "неиспользуемый", скрыть раздел. Каждый раздел-это именованный диапазон, чтобы сделать это проще. если строка является частью именованного диапазона "Cblank", спрячьте ее. Теперь самое сложное - для каждой ячейки в диапазоне ("CNonTest"), если C. Value = "" и C. Columns(41).Value = "" затем спрячьте их. Диапазон ("CNonTest") находится в Col C дополнительная колонка ...

Как скопировать данные из закрытых книг (сохраняя их закрытыми) в главную книгу с помощью VBA

Мне нужна помощь, чтобы скопировать данные из нескольких закрытых книг, не открывая их, в главную книгу с помощью VBA. сегодня я использую функцию Workbooks.откройте для этого, хотя я использую 4-6 файлов для копирования данных, и каждый файл, который нужно открыть, резко замедляет операцию копирования. Мне нужна помощь в использовании эффективного кода VBA для копирования данных без открытия каждого файла. Вот пример моего кода: Set x = Workbooks.Open("C:Bel.xls") 'Now, copoy what you ...

Как написать макрос, чтобы открыть файл excel и вставить данные в файл, содержащий макрос?

У меня есть два файла excel. Один из которых содержит макрос. Другой-это общая рабочая книга. У меня уже есть написанный код. Он открывает общий файл wourkbook и выбирает все данные на указанной вкладке. Единственная проблема заключается в том, что я не знаю, как написать код, который автоматически вставит эти данные в файл с макросом? Sub ImportData_Click() ' open the source workbook and select the source sheet Workbooks.Open Filename:="Test.xlsm" Sheets("Make").Select ' copy the source ra ...

vba замена двух кавычек на одну / создание txt файлов

Я создал макрос, который генерирует txt-файлы с данными из каждой строки в excel. У меня проблема с " (кавычки) Вот строка из VBA, которая создает проблемы: wsTemp.Cells(6, 1).Value = "The ""Number"" is " & wsSource.Cells(r, 3).Value Мне это нужно: The "Number" is MYNUMBER Вместо этого я получаю следующее: " The ""Number"" is" MYNUMBER Это тоже не работает: wsTemp.Cells(6, 1).Value = "The" & Chr(34) & "Number"" is " & Chr(34) & wsSource.Cells(r, 3).Val (получил то ...

VBA печать в PDF и сохранение с автоматическим именем файла

У меня есть код, который печатает выбранную область на листе в PDF и позволяет пользователю выбрать папку и имя входного файла. Есть две вещи, которые я хочу сделать, хотя: существует ли способ, которым PDF-файл может создать папку на рабочем столе пользователя и сохранить файл с именем файла, основанным на определенных ячейках листа? Если несколько копий одного и того же листа сохраняются/печатаются в PDF, может ли каждая копия иметь номер, например. 2, 3 в имени файла на основе копии номе ...

2 способа для "ClearContents" на VBA Excel, но 1 работает нормально. Почему? [дубликат]

На этот вопрос уже есть ответ здесь: Почему работает диапазон, но не клетки? 1 ответ Добрый вечер друзья: Я имею в виду 2 способа очистки содержимого в определенном диапазоне ячеек проекта VBA (в MS Excel): Worksheets("SheetName").Range("A1:B10").ClearContents Worksheets("SheetName").Range(Cells(1, 1), Cells(10, 2)).ClearContents Проблема в том, что второй способ показывает мне ошибку '1004' когда ...

Очистка данных с веб-сайта с помощью vba

Я пытаюсь соскрести данные с сайта: http://uk.investing.com/rates-bonds/financial-futures с помощью VBA, как и в режиме реального времени цены, т. е. немецкий 5 год бобло, нам 30-летние казначейские облигации, я пробовал в Excel веб-запрос, но это только царапины весь сайт, но я хотел бы, чтобы очистить уровень только, есть ли способ сделать это? ...

Excel VBA datediff для вычисления месяцев, дней и месяцев вместе?

Я пытаюсь вычислить время, прошедшее с общей суммой месяцев, дней и часов вместе, используя функцию Datediff. Разве это невозможно? DateDiff("d hh", datein, Now) Что я могу сделать? ...

EXCEL/VBA: преобразование логического текста В проверки

Я экспортировал данные из access в excel. Некоторые столбцы содержат логические значения, и excel отображает их как "true"или " false". Не очень читабельно, поэтому я хочу изменить ложные значения на пустые, а истинные значения на "x". Вот код VBA, который я написал: Sub BoolToCheck() Dim myRow As Integer Dim myCol As Integer For myCol = 7 To 38 For myRow = 2 To 458 Select Case Cells(myRow, myCol) Case "TRUE" Cells(myRow, myCol) = "x" Case "FALSE" ...

Функция циклического сопоставления слов в Excel VBA

У меня есть список ключевых слов, и я хочу посмотреть, содержит ли одна ячейка какое-либо из этих слов. Например, если мой список ключевых слов (кошка, собака, черепаха) функция будет ответный матч, если он смотрит внутрь "Мистер собак Волшебная страна". Я нашел хороший UDF онлайн, чтобы использовать в качестве функции, но когда я пытаюсь зациклить его, чтобы он проверял каждое слово в моем списке ключевых слов, я получаю #VALUE!. Первая функция - это мой цикл, а вторая-функция соответствия U ...

Несоответствие типа аргумента VBA ByRef

Первоначально в моем основном разделе кода у меня был уродливый оператор if - хотя уродливый он будет работать. Я решил сделать его функцией, которую я буду вызывать, это вызвало у меня ошибку "Compile error: byref argument type mismatch". Я предполагаю, что на функцию нужно ссылаться правильно, хотя я читал документацию и не могу понять, почему >. Объявление переменной ShiftValue: Dim ShiftValue As String ShiftValue = LCase(Sheets("Raw_Rota").Cells(Counter, "C").Value) Содержание функци ...

VBScript-как заставить программу ждать завершения процесса?

У меня есть проблема в VBScript, который я использую с макросом VBA/Excel и HTA. Проблема только в VBScript, у меня есть два других компонента, то есть макрос VBA и HTA front-end работают отлично. Но прежде чем я объясню проблему, я думаю, что для того, чтобы вы помогли мне, я должен помочь вам понять контекст VBScript. Таким образом, в основном все компоненты (VBScript, VBA macro и HTA) являются частями инструмента, который я создаю для автоматизации некоторых ручных работ. Это в значительной ...

Как скрыть столбцы в выпадающем списке ComboBox?

Я создаю ComboBox в форме пользователя Excel, которая получает свои строки из таблицы доступа. Я хочу отобразить несколько текстовых полей для пользователя в выпадающем списке, но значение, возвращаемое из ComboBox, должно быть ID-номером, связанным со строкой, которую выбирает пользователь (т. е. столбец ID-это связанный столбец). Но я не хочу показывать этот идентификационный номер пользователю. Есть ли способ скрыть столбец в выпадающем списке ComboBox, но все же привязать этот столбец? ...

Использование VBA для подсчета количества незакрытых (видимых) листов слева от активного листа (excel)?

Я создаю анкету в excel, и меня попросили включить индикатор типа "Вы находитесь на листе X из Y" на каждой странице. Количество видимых листов варьируется в зависимости от ответа на некоторые из ранних вопросов (нерелевантные наборы вопросов скрыты и т. д.), поэтому и числитель, и знаменатель в этом утверждении являются переменными. У меня есть метка (Label1) на каждой странице, на которой я могу написать подпись, мне удалось подсчитать общее количество видимых листы и привязать надпись надпи ...

Строки VBA.Граф в выборе

Я ищу, чтобы выяснить, сколько строк пользователь выбрал для отображения в верхней части листа рядом с кнопкой действия, т. е. кнопка говорит "генерировать электронную почту", а рядом с ней говорит "x выбранных элементов". Поскольку это обновляется каждый раз, когда выбор изменяется, у меня есть следующий код: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Sheet1.Range("E1") = Target.Rows.Count & " items selected" End Sub Это прекрасно работает, если пользователь выбира ...

VBA в Excel: файл глобальных констант

Я работаю над некоторыми сценариями VBA для рабочего листа Excel, и я создал модуль, который содержит целый список в основном строк, хранящих имя каждого из моих полей базы данных. Таким образом, если кто-то изменяет базу данных, он может обновить переменную VBA в модуле, и тогда все мои скрипты, которые ссылаются на глобальную переменную вместо имени поля напрямую, даже не знают разницы. В любом случае, я буду работать в нескольких разных несвязанных листах excel, и я хотел бы, чтобы все они и ...

Фильтрация между двумя датами в сводной таблице с помощью VBA. Великобритания-США формат даты выпуска

Я нашел обходной путь для этого, но если у кого-то есть более чистый способ сделать это, я был бы заинтересован/благодарен. У меня есть два поля в электронной таблице, называемые DateFrom и DateTo для использования с фильтром дат в сводной таблице. Оба находятся в формате ДД / ММ / гггг. Данные, подаваемые в таблицу, также имеют этот формат. Сводная таблица также возвращает даты в том же формате. Все мои настройки находятся на английском языке, и я попробовал это на отдельной машине с теми же р ...