Добрый день. Есть папка с файлами эксель. В ней есть итоговый файл и однотипные файлы для сбора данных и построения сводной. Надо собрать в один для дальнейшей обработки. Пожалуйста, до начала работы давайте согласуем стоимость, срок и доп вопросы.
Вечер добрый, Пытаюсь присвоить переменной диапазон и использовать еe в сортировке. Ругается. Как правильно?
Код
Option Explicit
Option Base 1
Public Диапазон As Range
Sub Массивы()
Диапазон = ActiveWorkbook.Worksheets("Лист1").Range("a1")
Call Сортировка(Диапазон)
End Sub
Sub Сортировка(iCell As Range) 'сортирую по первому столбцу
With ActiveWorkbook.Worksheets("Лист1").Sort
.SortFields.Add Key:=Range(iCell), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange Range(iCell.CurrentRegion.Value)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Добрый день, Есть массив iArr (1 to 100, 1 to 10) и ListBox (10 столбцов). If iArr (i, 1)=1 Then ... Возможно ли без перебора сразу добавить строку массива в ListBox? Спасибо.
Добрый вечер, Прошу помочь с кодом: открыть файл, распечатать, закрыть (нашел тему с документами word - не могу переделать под любой формат файлов)
Код
iName = "Полное имя файла с указанием пути"
With CreateObject("Wscript.Shell") 'файлы могут быть различного формата (pdf, word, excel, txt...)
'открыть в скрытом режиме
'распечатать на принтере по умолчанию
'закрыть файл
End With
Добрый день, Вставляю иконку на кнопку в форме вот такой строкой: CommandButton1.Picture = Application.CommandBars.GetImageMso("FindDialog", 16, 16) 1. Можно ли на лист вытащить все имена GetImageMso? 2. GetImageMso или FindControl(ID:=_).Picture что лучше использовать при открытии на разных версиях excel? Спасибо
Добрый день, Как макросом открыть стандартный Проводник с текущей папкой (не используя Application.FileDialog(msoFileDialogOpen))? ThisWorkbook.Path - путь текущей папки Спасибо.
Добрый вечер, Можно ли сформировать сводную в таком виде? Не совсем сводная получается, но возникла потребность на основании подобной таблицы создавать различные отчеты. Спасибо.
Добрый день, При работе с формой, хочу чтобы пользователь выделил только один полный столбец (нажать на имя столбца). Как сделать проверку: Set Rng = Range(RefEdit1) If Rng.Columns.Count = 1 - один столбец А как проверить, что выделен весь столбец? Спасибо
Добрый день, Есть ListBox1 (3 столбца) - как скопировать все его элементы в ListBox2? (Из формы открываю новую форму и заполняю аналогичный ListBox для дальнейшей работы).
Состав.ListBox2.List(i, j) = Me.ListBox2.List(i, j) в цикле не работает, ошибка 381. Состав.show
Добрый день, Хочу проверить, чтобы MyRange содержал 1 строку и четное количество столбцов - в противном случае = ошибка #ЗНАЧ!. Подскажите, как правильно сделать?
Function qwer(MyRange As Range) As Double If MyRange.Rows.Count <> 1 Or MyRange.Columns.Count Mod 2 <> 0 Then qwer = #ЗНАЧ!.
Можно ли в форме на CommandButton отобразить стандартную иконку, например, "вставить" используя FaceId (нашел на форуме примеры с его определением, но использованием только для кнопок панели). Отобразить именно как иконку - стандартый размер в независимости от размеров CommandButton (вставка рисунка не подходит). Спасибо.
Добрый день, На форме кнопка "Печать". Хочу чтобы при нажатии форма закрылась и открылся предварительный просмотр листа qwer. Делаю так: Private Sub Печать_Click() Call Закрыть_Click Sheets("qwer").Activate ActiveWindow.ActiveSheet.PrintPreview End Sub Private Sub Закрыть_Click() Unload Me ActiveWorkbook.Worksheets("qwer").Protect End Sub Если при работе формы активен лист qwer все нормально. Если форма запущена с другого листа - пишет 2 ошибки подряд (файл) и "работа прекращена" - перезагружает Excel с восстановленным файлом. Заменяю "Call Закрыть_Click" на Me.Hide (но форма мне больше не нужна и я хотел ее выгрузить) все нормально. В чем может быть причина? Спасибо.
Некоторые свойства элементов формы (Enabled, Locked и другие) меняю программно. При этом при повторном запуске формы эти свойства "восстанавливаются". (Если первоначально Enabled=True, а программно изменил на False, то при новом запуске формы Enabled=True). А можно ли в ходе работы формы "восстановить" ВСЕ первоначальные значения у ВСЕХ элементов?
При открытие формы хочу заполнить ListBox: Private Sub UserForm_Initialize() Call WorkArreyRR -здесь создается массив (Variant) 'ListBox1.RowSource = ArrRR - ошибка "Type mismatch ListBox1.List = ArrRR - так работает, но как установить в ListBox нужный формат? End Sub С листа (ListBox1.RowSource = Range...)все нормально работало.
Наставил флажков с "Элементов управления формы". Можно ли к ним обратиться в VBA минуя связанные ячейки, или придется переделывать во флажки с "Элементов ActiveX"?
В диспетчере имен создал имя qwer, в поле диапазон указал =ДАТАЗНАЧ("01.01.2010"). Использую qwer как константу в расчетах формулами. А как обратиться к ней в VBA? MsgBox [qwer] - ошибка 13. Спасибо.
Добрый день, Хочу сортировать таблицу (TabRR), содержащую три столбца, по полю "Дата". Записал макрорекодером следующее (при активной ячейке заголовка нажимал следующие кнопки): "Сортировка и фильтр: очистить" - "в фильтре: сортировать по возрастанию" - "Сортировка и фильтр: очистить" получил такой код:
Sub SortTabRR() 'сортировка ActiveSheet.ShowAllData ActiveWorkbook.Worksheets("RR").ListObjects("TabRR").Sort.SortFields.Clear ActiveWorkbook.Worksheets("RR").ListObjects("TabRR").Sort.SortFields.Add _ Key:=Range("TabRR[[#All],[Дата]]"), SortOn:=xlSortOnValues, Order:= _ xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("RR").ListObjects("TabRR").Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With ActiveWorkbook.Worksheets("RR").ListObjects("TabRR").Sort.SortFields.Clear End Sub
Макрос запускаю с другого активного листа и активировать лист RR мне не надо. ActiveSheet.ShowAllData: попытался ActiveSheet заменить на ActiveWorkbook.Worksheets("RR") - ругается - "Метод ShowAllData из класса Worksheet завершен не верно." Убираю эту строку - получаю, что при выполнении макроса скрытые фильтром строчки не сортируются. (с переходом на лист записывал - работает, но можно без переходов) Прошу помочь правильно исправить и убрать лишнее из этого кода. Спасибо.
У меня TextBox1 на Frame - по событию выполняется: UserForm1.TextBox2.SetFocus. Это не работает, так как TextBox2 находиться вне Frame. Если переместить Textbox1 вне Frame работает все нормально. 1) Как можно "не включать" (отсоединить) TextBox1 в Frame, но оставить в его границах? 2) Как правильно SetFocus?
TextBox: 1) Можно ли на некоторые TextBox поставить запрет перехода по Tab? 2) Можно запретить доступ к TextBox, но при этом изменяется цвет текста. Можно ли как-то запретить доступ не меняя цвет?
Вопрос смешной, но: Есть Таблицы. Наведением мыши на заголовок столбца курсор меняее форму и при нажатии можно выделить столбец Таблицы, левый верхний угол - выделить всю таблицу. У меня почему-то в одной книге на одних Таблицах это есть, а на других нет. Отсутствие сего не мешает, но напрягает и раздрожает:) Что это может быть за параметр или какая причина. (Перезагрузки не помогают, защиты нет, формат таблиц одинаковый)
При заполнении TextBox (курсор находится в поле) нажимаю на кнопку "отмена" (хочу выйти без каких либо изменений - команда Unload TabRR), при этом выполняется событие TextBox_Exit и в результате получаю либо ошибку, либо продолжение работы события Exit. Как этого избежать? Спасибо.