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

Страницы: 1 2 3 След.
Собрать файлы в папке - Query
 
Всем доброго дня!

Как собрать с помощью Query файлы из папки я разобрался, благодаря видео от Николая.
Но у меня есть нюанс.
При сборке нужно во всех файлах брать дату отчета и ее добавить в новый столбец, шапку обрезать.
В прилагаемом файле набросал содержимое файлов и в умной таблице показан желаемый результат.
Файлы в папку постоянно добавляются.
Из умной таблицы в сводную
 
Добрый день!
Давно не брался за сводные таблицы, поэтому прошу помощи. Нужно из умной "Таблицы А", собрать сводную "Таблицу Б". Пример во вложении.
Макросом не удаляются именованные диапазоны
 
Добрый день!
В файле макросом нужно удалить все именованные диапазоны, но есть такие которые не удаляются (получаю ошибку 1004)
Если добавить on error..., то эти имена просто пропускаются, а грохнуть их надо.
Что интересно, через Диспетчер имен в ручную они удаляются.
Может есть какие идеи?
Файл прикладываю.
Спасибо!
Запрет закрытия Книги крестиком
 
Добрый день!
Понимаю, тема не однократно поднималась, не стал поднимать из архива.
В Excel 2003-2007 вопрос решался обработкой Workbook_BeforeClose:
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
   If Sheets("Лист1").Range("A1").Value <> 1 Then
       MsgBox ("Воспользуйтесь такой-то кнопкой")
       Cancel = True
   End If
End Sub
Столкнулся с тем, что Excel 2016 плевать хотел на Cancel = True. Вываливает запрос сохранить книгу перед закрытием или нет, или отмена.
Может кто сталкивался? Как побороли?
СУММПРОИЗВ и символы подстановки * ?
 
Добрый день!
Как я понял СУММПРОИЗВ не может использовать символы подстановки * ?
Возможно как-то обойти данное ограничение?
СУММЕСЛИ работает с символами подстановки, но не устраивает тем, что если ссылка идет на внешний файл, функция возвращает #ЗНАЧ.
Спасибо за советы, идеи.
Закрытие рабочей книги только при выполнении условия
 
Коллеги, добрый день!
Метод обработки данного события решался так:
Код
Sub Workbook_BeforeClose(Cancel As Boolean)

   If
Range("A1").Value <> "Можно закрывать" Then

      ' Условие
закрытия не выполнено. Укажем Exсel игнорировать _

       команду

      Cancel = True

   End If

End Sub
Данная тема уже поднималась давно http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=8&TID=9729&TITLE_SEO=9729&MID=72434...
Все прекрасно работало на Excel 2003, а тут недавно обнаружил, что на Excel 2010 данная штука не работает.
Как реализовать данное условие в Excel 2010 и старше?
Поиск значения по коду из нескольких строк и столбцов со смещением
 
Добрый день!
Файлик с примером прилагаю.
Задача следующая:
В столбце "B" имеются коды, нужно в столбец "C" вставить значения по данному коду из диапазона $H$7:$M$17 в соответствии с диапазоном $O$7:$T$17.
Реализовал, задачу с точным указанием столбца, хотелось чтобы поиск шел по всему диапазону $O$7:$T$17.
Пробовал формулой массива, не помогает.
Всем откликнувшимся спасибо!
Подсчитать количество произведенных замен
 
Всем, добрый день!
провожу на листе в выбранном диапазоне замену значений, вот кусок кода:    
Код
For i = 0 To UBound(a) 
        Selection.SpecialCells(xlCellTypeFormulas).Replace a(i), b(i), xlPart
   Next
задался вопросом, а как подсчитать количество успешных замен?
Может подскажет кто?
Заранее Спасибо!
Изменено: roka - 02.04.2015 13:51:36
Позицирование ComboBox на листе отнгосительно активной ячейки
 
Господа, добрый день!
Было показано данное решение у VovaK
Все здорово. Вот только как бы сделать, чтобы после выбора значения в ComboBox и отправки значения в ячейку этот самый ComboBox удалялся?
Множественная замена текста в формулах
 
Господа, помогите, пожалуйста оптимизировать код по замене текста в формулах.
собственно сам модуль:
Sub updatelink()
Application.DisplayAlerts = False
   Dim cell As Range
   On Error Resume Next
   For Each cell In ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas)
       If Not IsEmpty(cell) Then
       ' меняем текст в формуле содержащий 2012 и 1212 на 2013 и 0313 соответственно
       cell.Replace "2012", "2013"
       cell.Replace "1212", "0313"
        ' меняем текст в формуле содержащий 2011 и 1211 на 2012 и 1212 соответственно
       cell.Replace "2011", "2012"
       cell.Replace "1211", "1212"
       End If
   Next
   Application.DisplayAlerts = True
   MsgBox ("готово!")
End Sub
Распределение стоимостей
 
Господа, помогите, пожалуйста, с решение задачи, а то запутался.
Нужно распределить рыночную стоимость у объектов на основании их учетной стоимости.
Поступление за период по рыночной стоимости принимаем равной стоимости по учету.
В примере учетная стоимость объектов в столбце 2-8, в столбце 9 их рыночная стоимость на начало, нужно на основе этих данных раскидать движение за период.
Пробовал использовать коэффициент отношения учетной стоимости к рыночной, получаю отрицательные стоимости на конец, если были переводы с объекта на объект.
Excel VBA 2003 vs 2010, Медленная работа макроса в Excel 2010
 
Господа, нужна ваша помощь.
Имеется следующий макрос, добавляющий нное количество строк в таблицу:
Private Sub CommandButton1_Click()
   Dim i As Variant
   Application.EnableEvents = False
   ThisWorkbook.Application.ScreenUpdating = False
   Application.Calculation = xlManual
   Set i = ActiveSheet.Range("A:A").Find(What:="99999")
   xx = i.Row - 1
   If TextBox1.Value = 0 Or TextBox1.Value = "" Then TextBox1.Value = 1
   For i = 1 To Val(TextBox1.Value)
       Rows(xx).Copy
       Rows(xx).Insert Shift:=xlDown
       Application.CutCopyMode = False
   Next
   Application.EnableEvents = True
   ThisWorkbook.Application.ScreenUpdating = True
   Application.Calculation = xlAutomatic
End Sub
в таблице ориентировочно 90 столбцов из них 40% ячейки с формулами.
Так вот в Excel 2010 добавление строк (500) проходит ужасно медленно (десятки минут), а в Excel 2003 эта процедура занимает секунды.
В чем может быть проблема?
Ошибка 400 при выполнении макроса
 
Господа, может подскажет от чего может возникать данная ошибка. Не могу найти закономерности. На 95% компах с Excel 2007, 2010 этой ошибки нет, а на других есть.
Вот код макроса на котором дебагер останавливается:

Sub Initial()
Call create(550, 15, 200, 14, "Ввод", "Button1", "Sheet1.Unhide")
End Sub

Sub create(p1 As Integer, p2 As Integer, p3 As Integer, p4 As Integer, p5 As String, p6 As String, p7 As String)
Dim btn As Object
Set btn = ActiveSheet.Buttons.Add(p1, p2, p3, p4)
With btn
.Caption = p5
.Name = p6
.OnAction = p7
.Font.Name = "Arial"
.Font.Size = 8
End With
End Sub

ошибку валит на .Caption = p5
Найти в книге ячейки красного цвета и вывести их координаты
 
Помогите, пожалуйста, реализовать пойск "красных" ячеек в книге и вывод по ним информации в столбец (название листа, ячейка), если создать еще и гиперссылку на эту ячейку было бы еще лучше.
Спасибо.
Создание листа с именем отличным от существующих
 
Господа, помогите, пожалуйста, реализовать следующую задачку:  
Макрос бежит по файлам в папке и копирует из них Лист1 и добавляет их в новую книгу под именем "Код Компании (Лист1)" и все бы хорошо, если бы не попадались одинаковые Коды компаний. Как при совпадении кодов формировать листы с уникальным Именем, типа "Код Компании (Лист1)(i)", где i - уникальное значение для нового листа.
Макрос: проверить лист на наличие скрытых строк.
 
Направьте пожалуйста в нужную сторону для реализации темы топика.
макрос: не работает поиск, если в ячейке формула
 
Пример во вложении.  
в кратце история такая: в столбце А забиты порядковые номера, первый из них (100) введен в ручную, остальные заполнены формулой. В ячейку D5 вводим порядковый номер который нужно найти, в ячейке F6 должны получить номер найденной строки.  
Если искать 100, то она легко находится, а вот все остально нет.  
Помогите, пожалуйста.
Макрос: проверить наличие группировки.
 
Подскажите, как макросом проверить лист на наличие на нем Группировок?
Помогите с проверкой дат
 
Хочу реализовать проверку дат (код ниже).Однако макрос затыкается на .Add. Что я делаю не так?  
 
Private Sub Worksheet_Change(ByVal Target As Range)  
   Set LastRow = Range("A:A").Find(What:="ÀÀÀ")  
   Union(Range("D4:D" & LastRow.Row - 1), Range("G4:G" & LastRow.Row - 1), Range("J4:J" & LastRow.Row - 1)).NumberFormat = "m/d/yyyy"  
   With Union(Range("D4:D" & LastRow.Row - 1), Range("G4:G" & LastRow.Row - 1), Range("J4:J" & LastRow.Row - 1)).Validation  
       .Delete  
       .Add Type:=xlValidateDate, AlertStyle:=xlValidAlertStop, Operator:= _  
            xlBetween, Formula1:="1/1/1920", Formula2:="=DATE(YEAR(TODAY()),12,31"  
       .IgnoreBlank = True  
       .InCellDropdown = True  
       .InputTitle = "Âíèìàíèå! Ôîðìàò ââîäà:"  
       .ErrorTitle = "Îøèáêà ââîäà!"  
       .InputMessage = "ÄÄ.ÌÌ.ÃÃÃÃ"  
       .ErrorMessage = "Óêàæèòå äàòó êîððåêòíî"  
       .ShowInput = True  
       .ShowError = True  
   End With  
   ActiveSheet.CircleInvalid  
End Sub
ActiveSheet.CircleInvalid
 
Подскажите, можно ли как-то обработать данный метод при закрытии книги, т.е. если есть кружки на странице, то нельзя закрыть книгу.
Предотвратить ввод неверных дат.
 
Гуру, подсобите с данным вопросом, пожалуйста.  
Средства проверки данных средствами самой Excel и условные форматирования обходятся пользователями на раз. Поэтому надо привлечь к этому делу VBA.  
Нужно чтобы все введенные пользователем даты соответствовали формату "dd.mm.yyyy" и не допускались несуществующие даты: 30.02.2012, 31.09.2012 и т.д.  
Достаточно просто закрашивать неверные даты.  
Спасибо!
Копирование имен ячеек из одной книги в другую
 
делаю так:  
       For Each n In Workbooks(bname).Names  
           Workbooks(nname).Names.Add Name:=n.Name, RefersTo:=n.RefersTo  
       Next n  
копирует все имена из старой книги в новую.  
А как бы сделать чтобы копирование имен шло только с видимых листов
где Excel 2010 хранит свои настройки?
 
Подскажите, плиз, где хранятся настройки Excel 2010.  
Excel 2003 хранил их в файле %appdata%\Microsoft\Excel\Excel11.xlb, а файла Excel14.xlb найти не могу.  
Нужно Excel сбросить в настройки по-умолчанию.  
А то, где-то что-то сбойнуло и макросы перестали отображаться и выполняться. В настройках макросы разрешены на полную и сохраняли файлы и в формате xlsx и xlsm все едино.
поиск по столбцу уникально значения
 
Подскажите можеет ли метод .Find найти уникальное значение не обращая внимания на возможные пробелы. Пример во вложении. Нужно найти значение ИНВ105.  
Пробовал искать перебором, ищет как надо, но на больших массивах долго и тормознуто. Решил воспользоваться .Find но столкулся с проблемой, если задать частичное совпадение, то находит первое включение набора символов, если полное, то возможные пробелы в значении мешают поиску.  
Подскажите как организовать быстрый поиск значения по столбцу.  
Пробовал так:  
inv="ИНВ105"  
Set i = Worksheets("Лист1").Range("A:A").Find(what:=inv,LookIn:=xlFormulas, Lookat:=xlWhole)  
не находит нужное значение
лаг с Условным форматированием
 
Помогите, не знаю с чем связано.  
в одной из книг встречается лаг с условныс форматированием, а именно  
2 ячейки, вторая зависит от того, если данные в первой. Если в первую ввели данные, то вторая меняет цвет, пока не будут введены данные во вторую ячейку. Всезде все работает мгновенно, а в одной книге, чтобы произошло действо с перекрашиванием ячейки нужно покрутить лист.  
Будто нужен какой-то рефреш.  
установлено Application.ScreenUpdating = True
Подставить в формулу имя листа
 
Подскажите как в формулу подставить имя листа.  
Имеем в столбце 1 список с именами листов, нужно в столбец 3 проставить ссылку на ячейку листа из столбца 1.  
Пример во вложении.
На глухо виснет Excel при выполнении макроса.
 
Посоветуйте как найти причину зависания Excel при выполнении макроса.  
Что имеем: макрос, который бежит по листам книги и создает копии этих листов в новой книге.  
Все просто и всегда работало, по ка не обновился парк ПК.  
Данный макрос без проблем работал на XP c Excel 2003, 2007 и продолжает работать на аналогичной системе под VirtualBox, а вот с новыми ПК на которых установлен Windows 7 и Excel 2010 возникает проблема на 2х из 5 одинаковых ПК висит с непонятной закономерностью, то может обработать 3 листа, то 5 , то 7, а затем зависает.  
Конфигурация на всех ПК одна и та же, все ставилось с одного образа.  
Память потестил, проблем нет.  
СП1 повторно установить не удается, говорит нет продуктов для обновления.  
Что еще покрутить? Как найти корень зла?
максимальный размер массива
 
Добрый день!  
Создаю трехмерный массив mymas(1 To 50, 1 To 5000, 1 To 50), все ок, но мне не хватает 5000 строк, нужно 50000. Рисую mymas(1 To 50, 1 To 50000, 1 To 50), получаю Out of memory.  
Как переполнения памяти избежать и массив большой поиметь?
Как избежать ошибки Type mismatch 1000013?
 
Вопрос собственно уже в теме.  
Ошибка частенько встречается в процедуре типа:  
z = Range("A:A").Find(What:=y).Row  
т.к.может попасться ячейка не в том формате (числовой или текст).
Запрет на переход на другой Лист
 
Нужно организовать запрет на переход на другой Лист книги, пока не введешь необходимые данные на Листе1.  
Сделал, следующее:  
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)  
With ThisWorkbook  
   If .Sheets("Лист1").Cells(1, 1).Value = "" Then  
       .Sheets("Лист1").Activate  
       .Sheets("Лист1").Cells(1, 1).Select  
       MsgBox ("Для продолжения работы введите любое слово в ячейку А1 на Лист1!")  
   End If  
End With  
End Sub  
вроде работает как надо, но появилась проблема при открытии/закрытии книги (Вылазит мой мэсэдж, ну и лист активируется), т.к. при открытии книги в ячейке ничего нет, а при закрытии не всегда нужно чтобы в данной ячейке что-то было.  
Как сделать чтобы SheetDeactivate не отрабатывал на открытии\закрытии книги, при этом с ячейкой А1 никаких действий макросом производить нельзя.
Страницы: 1 2 3 След.
Наверх