Уважаемые форумчане, Гуру VBA & Excel, доброго времени суток! Прошу Вас помочь советом (если возможно конечно же), доработать имеющийся код:
Код
Sub copy()
Dim sShName As String, sAddress As String, vData
'отключаем обновление экрана
Application.ScreenUpdating = False
Workbooks.Open Filename:="Выбрать нужный файл", ReadOnly:=True 'Как заменить эту строку,на то, чтобы выбирать нужный .xlsx файл для обработки?
sAddress = "A1:A350" 'Как заменить статический диапазон выбранных ячеек в столбце А, на динамический диапазон (до последней ячейки со значением в столбце А)?
'получаем значения
vData = Sheets("Отчет").Range(sAddress).Value
ActiveWorkbook.Close False
'Записываем данные на активный лист книги, с которой запустили макрос
If IsArray(vData) Then
[A4].Resize(UBound(vData, 1), UBound(vData, 2)).Value = vData
Else
[A4] = vData
End If
'Включаем обновление экрана
Application.ScreenUpdating = True
End Sub
Код был ранее найден на просторах всемирной паутины и использовался, возможно автор данного кода будет читать моё сообщение на форуме (хочу выразить благодарность за этот код!) Помогите пожалуйста доработать данный код, вопросы указал в комментариях 5й и 6й строки кода. Нужен ли файл пример? На мой взгляд нет, но если будет необходим, обязательно сделаю. Заранее спасибо за ваше внимание и советы.
Доброго времени суток! Столкнулся с такой проблемой: Есть 1 рабочий файл (.xlsx), с него сделан запрос через Power Qwery, в папку с файлами, в эту папку закидывают книги excel (предварительно выгруженные из какой-то учётной программы, есть подозрение, что из 1С (присылаются по почте от подрядчика)), при выполнении запроса, возникает ошибка и выполнение запроса прерывается. Как удалось мне понять, ошибка сохраняется до того момента, пока не открыть один из файлов вызывающих ошибку и не разрешить его редактирование (через выплывающее окошечко в верхней части листа),сохранить и закрыть, ошибка пропадает (именно по этой книге) и так далее, на данном этапе файлов не много, но со временем объём будет больше, открывать каждую книгу, разрешать редактирование, сохранять и закрывать, не эффективно с точки зрения автоматизации процесса. Может можно как-то решить этот вопрос через сам запрос в PQ или через VBA?
Всем привет! Друзья, подскажите пожалуйста, как написать формулу, что бы считала уникальные числа из динамического диапазона дат, пробовал через формулу: =СУММПРОИЗВ(1/СЧЁТЕСЛИ(ДИАПАЗОН:ДИАПАЗОН)), считается всё конечно, но не привязать к условию месяца. В файле примере, ячейки выделены желтым цветом, в которые должны заполняться значения формулой. Если есть у кого-то готовое решение, прошу поделиться опытом и знаниями, заранее спасибо!
P.S.: Поиск по темам результата увы не дал, кроме той формулы, что написаны выше в моём сообщении, но с ней не поработать.
Всем привет! В файле примере есть два листа Лист1 и Лист2. Необходима формула, которая на Лист1 будет подтягивать номера заказов с Лист2, по их статусу. На Лист2 умная таблица, с внешним подключением к БД, соответственно, на ней данные всегда обновляются и меняются, поэтому, формула должна видеть изменения на Лист2 и при появлении заказа с нужными статусами (нужных всего 3 статуса), показывать номера заказа на Лист1. Надеюсь доступно изъяснился, хотя, с этим проблема, уже не раз тут получал за это замечание от модераторов.
Доброго всем времени суток! Столкнулся с такой проблемой... Нашел на нашем форуме файл, которые по адресу, выгружает координаты, есть так же, несколько зон с координатами, перепробовал и сам и с супругой несколько вариантов, но результат увы никакой... Необходимо определить, в какой диапазон попадают имеющиеся координаты для определения зоны.
Уважаемые форумчане! Доброго времени суток! Подскажите пожалуйста, как исключить из макроса который перебирает все листы в в книге и ставит на них защиту, лист, который скрыт и не нуждается в защите?
Код
Sub ()
Dim sh As Worksheet: Application.ScreenUpdating = False
For Each sh In ThisWorkbook.Worksheets
sh.Protect "тут пароль"
Next sh
Range("A1048557").Select
End Sub
Привет форумчанам. Необходима ваша помощь в оптимизации или "перекройке" формулы в файле, в самом примере подписал, что и где необходимо подкорректировать, если есть идеи и решения, буду очень вам признателен за помощь. В файле есть "умная" таблица, которая сама добавляет в формулу (в столбце АМ) значения с листа "смены и произв календарь", но, если на листе строк будет более 10, а листов будет минимум 14, файл будет громоздкий и "тупой". Если не ясно изложил суть проблемы, прошу не ругать, отвечу на любой непонятный вам вопрос)))
Уважаемые участники форума, всем доброго времени суток! Просьба помочь с написанием макроса. Суть проблемы такова, если писать формулу, то получается цикличность формул и соответственная проблема... в столбце "А" есть номера счетов, это просто порядковый номер от 1 и до ... любого значения, в столбце "В" наименование Диллера, необходимо автоматическое присвоение следующего порядкового номера для указанного Диллера, файл примера прилагаю. Заранее благодарю за помощь!
Всем привет! Видел несколько примеров, по обработке листов макросом, но ни одно решение к себе применить не смог. Проблема у меня в следующем: Есть файл, в который я на разные листы скидываю данные, запускаю макрос, который форматирует все указанные листы (в макросе) под единый формат, что бы формула корректно считала данные, но есть необходимость добавлять или удалять листы... Постоянно переписывать макрос, совершенно не удобно, а как автоматизировать данный процесс, не понимаю. Код, в котором прописаны листы и диапазоны прилагаю:
Код
Sub Макрос3() 'форматирует информацию на листах под нужный формат
Worksheets("справочник").Unprotect Password:="*********" 'снимает защиту с листа
Sheets("График RM").Select
ActiveWindow.SmallScroll Down:=-3
Columns("A:G").Select
Selection.Delete Shift:=xlToLeft
Range("A9:C36").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A9").Select
Sheets("График приёмка").Select
Columns("A:G").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Range("A9:C36").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("График Н.лог").Select
Columns("A:G").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Range("A9:C40").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A9").Select
Sheets("справочник").Select
Range("H1").Select
Worksheets("справочник").Protect Password:="*********" 'ставит защиту на лист
End Sub
Необходимо, что бы код выполнялся только на листах с именем, которое содержит слово: "График". Знаю, что мой код написан топорно, писал его сам, вернее не писал, а лепил из того, что нашёл в интернете... Если это можно как-то оптимизировать, был бы признателен за это.
Всем доброго времени суток! Прошу строго не судить за вопрос, пытался честно найти решение в уже представленных примерах, но к сожалению не удалось. Имеется файл, график сменности работы, в нём в ручном режиме ставятся смены, бывает такое, что ставится более 5ти смен подряд, что недопустимо условиями трудового договора, 5 дней в неделю, не более!
Всяческие формулы для условного форматирования перепробовал, ни чего не могу сделать, что бы при превышении "лимита" 6й день закрашивался красным либо каким другим цветом цветом.
Заранее спасибо за уделённое время.
Извините, забыл совсем, там где график используется, стоит 2010 офис, дома 2016й.