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

Страницы: 1 2 След.
Вставка даты введя только день месяца
 
Добрый день. В ячейку с форматом дата вводим число и номер месяца, вставляется дата с текущим годом. Есть ли возможность организовать: вводим день месяца и встаёт введённый день, текущий месяц и год?
Удаление защищенной формулы
 
Добрый день. Защитил формулы макросом.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 Dim rng As Range
 For Each rng In Target.Cells
   If rng.HasFormula Then
     ActiveSheet.Protect
   Else
     ActiveSheet.Unprotect
   End If
 Next rng

End Sub

Иногда необходимо удалить целую строку содержащую формулы. Долго думает или вообще виснит. Подскажите, как можно обойти. Может как-то можно поставить условие "если выделена вся строка"?
Подключить модуль user32
 
Добрый день форумчане. Появилась необходимость воспользоваться API. Проблема, не могу подключить user32.dll.
Скачал его из папки Windows в папку где установлен Excel но в инструментах в обозревателе (Tools -References) его всё равно не видно, что бы галку поставить. Подскажите, что делаю не так?  
Изменено: Фрезератор - 03.02.2024 12:45:39
Сочетания клавиш для макроса в надстройке
 
Добрый вечер.
Повесил на макрос, который находится в надстройке, сочетание клавиш. Всё отлично срабатывает до тех пор пока не закрыл Excel. Открываю снова и он не помнит привязанные клавиши. Подскажите как это побороть.
Вызов макроса сочетанием клавиш.
 
Доброго времени суток. Несколько книг, в каждой книге есть результирующий (главный) лист. В каждой книге написал макрос активизирующий этот лист.  Все макросы повешены на одну комбинацию клавиш. Проблема, если открыта не одна книга то срабатывает непойми какой макрос. Есть ли способ сделать так что-бы срабатывал макрос активной книги?
Worksheets("ффф").Activate -пытается в активной книге найти лист "ффф"
ThisWorkbook.Sheets("ффф").Activate тоже не помогает.
Ошибка при создании массива
 
Добрый день.
Объявляю массив
 Dim aAr() 'массив отмеченных листов с диапазоном дат
 Dim runAr() 'массив рабочих дней
При попытке загрузить данные выходит ошибка
     runAr = Worksheets(aAr(n, 1)).Range(Cells(2, 25), Cells(iNam + 2, 25 + ird)).Value 'Y=25 столбик
в aAr(n, 1) имя листа
На всякий случай прилагаю файл пробника
Сбор данных с листов книги
 
Добрый день.
В книге на каждый заказ создаётся лист из листа-шаблона. В каждом листе отбираю отработанные часы работником на каждый день начиная с ячейки Y3 .
Нужно суммировать в листе "Список" время по каждому работнику по датам со всех листов. Правда в книге могут быть листы с другой информацией. Но это можно отсортировать каким нибудь способом, например в каждом нужном листе в ячейке X2 будет "XX".
Можно ли это сделать формулами? Не хотел колхозить макрос, что бы всё работало автоматически.
Отключить для других книг вызов макроса сочетанием клавиш
 
Доброго времени суток.
Привязал к макросу горячие клавиши, теперь, если открыто несколько таблиц, они срабатывают везде. Есть ли способ, чтоб они срабатывали только в той таблице где назначены?
Как проверить, является ли элемент массива положительным числом
 
Добрый день.
Прошу помочь разобраться с обработкой массива.
Макрос делал на основе других, и не всё до конца понимаю, что происходит.

В строке lr = sh.Cells(Rows.Count, 9).End(xlUp).Row предполагал,что в lr присваивается номер последней заполненной строки в столбце 9 т.е. столбец I (номер 36). Но присваивается вообще последний номер 38.

В строке If arr(i, 8 ) > 0 Then мне бы надо определять присутствие положительного числа. В данной ситуации срабатывает на всё что угодно, даже на "".

Примерно такая же проблема в строке
arr2(j, 4) = arr(i, 5) + 1000 'заказ.
Надо убедиться что там число, что то типа if as arr(i, 5) Long then или if ЕЧИСЛО(arr(i, 5)) then
Отобрать номера заказов из столбца с атрибутом "к" в другом столбце
 
Добрый день. Хотел пойти по пути сводной таблицы, но понял, что не очень подходит.
Нужно отобрать все номера заказов из столбца А с атрибутом "к" в столбце D на странице "Текущий". Вставить эти данные на страницу "Отбор" в столбец D. Но впереди этого списка нужно вставить такие же данные из страницы прошлого года "Пр_год". Буду благодарен за любую помощь.
Число деталей, изготовление которых было закончено в 2021 году
 
Доброго времени суток.
Надо суммировать данные в столбце. Сколько будет строк, заранее не известно.
Хотел сделать что-то вроде =СУММПРОИЗВ(--($E5:$E&A1>0);$I5:$I&A1), конечно не работает.
В ячейке А1 определяется номер последней заполненной строки.
В столбце Е заносится дата.
В столбце I количество изготовленных деталей.
Конечно можно сделать так =СУММПРОИЗВ(--($E5:$E500>0);$I5:$I500), но как то не комильфо.
Интернет курил, бошка взорвалась. Пробовал пристроить функцию АДРЕС, тоже не получается  
Как сослаться на ячейку в которой стоит маркер, В зависимости от того, где стоит маркер производить расчёты.
 
В определённом столбце, предположим С, ставится номер наряда. Хотелось бы выводить информацию связанную с этим нарядом в зафиксированную ячейку когда маркер стоит на этой строке. Блин, во закрутил. Рыскаю я по таблице. Маркер ставлю на какую либо строку.  В этой строке, в столбце С поставлен номер наряда. Этот номер высвечивается в верху таблицы, в шапке, Предположим в А1. На основе А1 я собираю и обрабатываю информацию. Т.е. ячейка А1 должна знать в какой строке стоит маркер.  
Среднее значение по дням., Среднее значение по дням.
 
Доброго времени суток. Нужно посчитать среднее значение по дням. В день может быть разное количество записей. К примеру на работу вышло 5 человек, один высадил 3 дерева, второй 5 и т. д. Следующий день вышло 2 человека, высадили разное кол деревьев. Надо узнать среднее кол деревьев в день. Пример конечно тупой, реальная задача сложнее. Порылся, нашёл только вставить в =СРЗНАЧ условие ЕСЛИ. Но никак не соображу как составить условие по дням. Ссылаясь на пример, хотелось бы, что бы в ячейке С14 (розовая) было значение как в E11 (зелёная).
Восстановить перезаписанный файл., Сохранил файл "как" на имя другого файла.
 
Сохранил файл "как" на имя другого файла и закрыл его. Затёр очень важный файл с данными за много лет. Последняя страховочная копия сделана в 2016 г.  Сейчас судорожно рою интернет, ничего не получается. Помогите пожалуйста. Excel 2010.
Макрс: в ячейках, где должна отображаться информация, отображается #ССЫЛКА!
 
Добрый день. Работал, никаких изменений не производил, перестал работать. В ячейках где должна отображаться информация отображается #ССЫЛКА!
Макрос из другой книги, с результирующего листа выводит информацию.
Параметры-Центр управления безопасностью-параметры центра управления безопасностью-параметры макросов-включить все макросы. Включено.
Код
Function IsBookOpen(wbName As String) As Boolean
    Dim wbBook As Workbook
    For Each wbBook In Workbooks
        If wbBook.Name <> ThisWorkbook.Name Then
            If wbBook.Name = wbName Then IsBookOpen = True: Exit For
        End If
    Next wbBook
End Function

Private Sub Worksheet_Activate()
    Dim sShName As String, sAddress As String, vData
    'Отключаем обновление экрана
  If IsBookOpen(Range("O1")) Then
    MsgBox "Файл -" + Range("O1") + "- открыт, синхронизации нет!"
  Else
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual 'отключаю расчёт формул, чтобы выводило значения а не ссылки
    'Workbooks.Open ThisWorkbook.Path "\Работа 2015.xlsm"
    Workbooks.Open ThisWorkbook.Path & "\" & Range("N1") ' & ".xlsm"
    sAddress = "D2:I1000" 'или одна ячейка - "A1"
    'получаем значение
    vData = Sheets("Список").Range(sAddress).Value
    ActiveWorkbook.Close False
    'Записываем данные на активный лист книги,
    'с которой запустили макрос
    If IsArray(vData) Then
        [A2].Resize(UBound(vData, 1), UBound(vData, 2)).Value = vData
    Else
        [O1] = vData
    End If
    'Включаем обновление экрана
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
  End If
End Sub
Перенести форму в другую книгу.
 
Накопал прогу "Copy_VBAProject_Components" для копирования модулей и форм в другую книгу. Вот ссылка http://www.excel-vba.ru/general/moi-programmy-dlya-raboty-s-excel/kopirovanie-modudej-i-form-iz-odno... Выдаёт ошибку. Пробовал действовать по советам в комментариях, стала выскакивать другая ошибка "Run-time error '-2147024891 (80070005)':
Неверная ссылка на корень в разделе реестра "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\Security\AccessVBOM".
Может кто подскажет другой вариант.
Книга по аналогии которой хочу сделать новую, слишком глючная. Я уже советовался на вашем сайте, мне посоветовали не переделывать старую а перенести данные в новую книгу. Но на переносе форм у меня всё дело встало.
Как настроить автосохранение файлов
 
Не происходит авто сохранение файлов. Приложил скрин с настройками. Может где ещё есть галка, не нашёл.
Может есть какие нибудь программы для авто сохранения указанных файлов?
Помогите востановить файл
 
По ошибке удалил файл на флешке с расширением .xlsm. Пробовал восстанавливать двумя программами recuva и EasyRecovery, но эти проги не могут восстановить файлы с расширением xlsm. Я даже в расширенных настройках писал это расширение. Помогите кто чем сможет, файл очень важный
Изменено: Фрезератор - 05.10.2015 23:33:13
Объясните природу ошибки "...обнаружилось содержимое, которое не удалось прочитать"
 
При загрузке таблицы выдаётся ошибка "В книге ... обнаружилось содержимое, которое не удалось прочитать. Попробовать восстановить содержимое?" и далее выводится о окно (приложил скриншот). Саму таблицу приложить не могу, слишком большой размер. Таблица на каждый год создаётся из предыдущей, удаляя листы созданные в прошлом году. Наверное там копятся какие нибудь данные с прошлых годов.
Подскажите где поискать.
Там, в диспетчере имён, было много имён созданных автоматически. Я их удалил, но ошибка осталась.
Не создать выпадающий список.
 
Подскажите, где поставить галку. В любых других таблицах создаются выпадающие списки, а конкретной книге не создать выпадающий список. Не появляется, в ячейке, стрелочки. Делаю как обычно Проверка данных->Списки->=Диапазон
При получении данных из открытой книги, трёт данные.
 
Пытаюсь взять данные из открытой книги. Первый раз макрос читает нормально, но после этого в той книге, с которой читает, на листе ничего нет. На читаемом листе сбор данных со всей книги, т.е. там одни ссылки. Ссылки остаются на месте, но они перестают работать.
Код читающего макроса:
Код
Private Sub Worksheet_Activate()
    Dim sShName As String, sAddress As String, vData
  If IsBookOpen(Range("O1") & ".xlsm") Then
    Application.Calculation = xlCalculationManual 'отключаю расчёт формул, чтобы выводило значения а не ссылки
    sAddress = "D2:I1000"
    vData = Workbooks(Range("O1") & ".xlsm").Sheets("Список").Range(sAddress).Value 'получаю данные
    [A2].Resize(UBound(vData, 1), UBound(vData, 2)).Value = vData 'вставляю данные
    Application.Calculation = xlCalculationAutomatic
В макросе взять имя файла из ячейки
 
В макросе листа открываю файл- Workbooks.Open ThisWorkbook.Path + "\Донар.xlsm".
Подскажите, как взять имя файла из ячейки этого листа? Предположим что то вроде того Workbooks.Open ThisWorkbook.Path + "N1". Экспериментировал с &", ничего не получается.
Подсветка искомых значений
 
Доброго времени суток. В столбец D заносятся децимальные номера. В ячейку K45 заношу искомый номер и в столбце D совпадения должны подсветиться цветом. Условным форматированием столбца D задаю \Значение ячейки- равно- =$K$45 заливаю цветом\. Если заношу значение в столбце D, всё нормально работает. Если меняю значение в K45, т.е. произвожу поиск, то всё усложняется, закрашивание не происходит. Приходится перейти на другой лист а потом обратно, то УФ срабатывается, не удобно. Пробовал в УФ через формулу, тот же результат. Подскажите как упростить задачу.
Данные из другой книги в активный лист, Помогите разобраться с макросом
 
Пытаюсь считать данные из другой книги на активный лист.
Макрос придумал не я, поэтому не всё понятно. Не вставляет данные.
Скрытый текст
Получить из другой книги не ссылки а значения.
 
Доброго времени суток. Из закрытой книги считываю данные и вывожу на лист в книге, где находится макрос.

Код
Workbooks.Open (ThisWorkbook.Path + "\Время 2014_проба.xlsm") 
sAddress = "B1:J14" 
'получаем значение 
vData = Sheets("Список").Range(sAddress).Value 
ActiveWorkbook.Close False 
'Записываем данные на активный лист книги, 
'с которой запустили макрос 
If IsArray(vData) Then 
[B1].Resize(UBound(vData, 1), UBound(vData, 2)).Value = vData 
Else 
[B1] = vData 
End If 
 

Но в книге откуда беру в ячейках формулы и ссылки. Как получить при считывании значения этих формул?
Изменено: Фрезератор - 18.12.2014 15:02:58
Считывание данных с другой книги.
 
Доброго времени суток. Помогите разобраться: из книги "учёт времени" с листа "Итог" хочу перетянуть данные в книгу "Main" на лист "За". В лист "За" вставил макрос. Сразу, честно, передрал с другого примера. Кое в чём разобрался, но не совсем.
Всё в принципе устраивает, но вариант работает только когда закрыта книга "учёт времени". И чтобы данные обновились надо листануть лист "За", создать событие активации.
1) Как сделать чтобы работало при закрытой книге/при открытой.
2) Как сделать что бы данные обновлялись динамически, при изменении данных в книге "учёт времени"
И есть большое неудобство, в процедуре жёстко определено положение файла "учёт времени".
3) Как сделать чтобы файл "учёт времени" открывался из той же директории из которой открывается "Main". Т. е. можно ли в макросе листа "За" отследить
 положение файла "Main"
В макросах не очень силён.
Кто, чем поможет, буду очень благодарен.
Как собрать данные со всех листов.
 
На листах с месяцами в столбце А, к фамилии подтягиваю зарплату и отработанные часы, для того, чтобы на листе «список» собрать все данные. Так как я сделал, не очень хорошо. На примере Иванова (лист Список), в мае он вообще не работал. Надо чтобы как-то просматривать по фамилии.
А вообще, лист «Список» я задумал, для того чтобы эти данные получать в другой книге.
Может я вообще пошел кривым путём? Может, есть более лаконичный способ для данной задачи.
Как закрасить ячейку с числом
 
В столбце С вычисляется число. Если есть число, то нужно ячейку закрасить. Самое оптимальное, условное форматирование. Но при данном раскладе у меня не получается. Красятся все ячейки. Как то по другому надо задать условие. Приложенный пример абстрактный, чтобы не грузить лишней инф.
Как сослаться на ячейку, чтобы в ссылку вставлялось имя листа из ячейки.
 
 На листе Итог в столбце А автоматически появляются названия вновь созданных листов. В столбце B должно появляться значение из созданного листа ячейки С1. Вставить в ссылку название листа из ячейки столбца А у меня не получилось. Подскажите плиз.
Отобрать ссылки по названию., Как в разные столбцы разместить ссылки по названию
 
Доброго времени суток. Из примера сделал табличку оглавления книги, для упрощения навигации. Сейчас все названия листов и ссылки на них в один столбик. Хотелось бы названия листов начинающихся с цифры и ссылки на них разместить в одну колонку, точнее в две. А остальные, предположим рядом.
Страницы: 1 2 След.
Наверх