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

Страницы: 1 2 След.
Суммирование значений диапазона по нескольким критериям (значения столбца и строки)
 
Спасибо Вам огромное!
Суммирование значений диапазона по нескольким критериям (значения столбца и строки)
 
Добрый день!

Есть две таблички, нужно суммировать значения во второй из первой по двум критериям. Вроде бы все просто, но почему то не работает(((( выдает ЗНАЧ ((( Не могу понять почему((( Файлик с проблемой прилагаю.
Ссылка на сводную таблицу
 
Цитата
Z написал: Каким образом?
='Сводная Таблица2'!C19 - это ссылка на текстовые данные, которые группируются.
=ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ("Сумма";'Сводная таблица2;"Статья УУ";"А";"В";"С";"Е";"Т") - это ссылка (она формируется автоматически) на числовые суммарные данные
Ссылка на сводную таблицу
 
Добрый день!

Есть обычная таблица1, на ее основе на отдельном листе формируется Сводная таблица2, где группируются строки по виду статей затрат. Есть еще одна Таблица3, которая ссылается на строки Сводной таблицы2. И вот когда в Таблице1  изменяются данные и Сводная таблица2 соответственно обновляется, то в Таблице3 данные некорректно изменяются, потому что идет привязка не к значению, а к номеру строки.  Можно ли каким-то образом привязать Таблицу 3 к Сводной таблице2, чтоб после обновления значения не съезжали?
Сообщение об изменившейся ячейке
 
Цитата
ZVI написал:
Приложенный вариант поспокойнее будет, попробуйте
Спасибо! Действительно он спокойнее и без толку не паникует)))))
Сообщение об изменившейся ячейке
 
Цитата
Юрий М написал:
Событие Calculate возникает при любом пересчёте. Если не будет выполняться условие (в данном случае <>7), то, естественно, получите сообщение.
В том то все и дело, что изменений не происходит. Водятся данные не касающиеся данной формулы, а сообщение все равно выскакивает.
Сообщение об изменившейся ячейке
 
Рано я радовалась((( теперь сообщение об ошибке выдается при любом добавлении данных в файл....
Сообщение об изменившейся ячейке
 
Спасибо!!!! Все заработало!!! Только в Excel 2016 не "Исходный текст", а "Просмотреть код".
Сообщение об изменившейся ячейке
 
А где находится модуль листа?
Сообщение об изменившейся ячейке
 
ZVI, Спасибо большое! В файле все работает отлично! Но мне нужно перенести этот макрос в другой файл. Я скопировала текст в Разработчик- Visual Basic  и сохранила. Но увы, не работает. Файл формата xlsm с разрешенными макросами (другие макросы в этом файле работали). Как грамотно переместить?
Сообщение об изменившейся ячейке
 
Есть функция ЕСЛИ(D2=0;ИСТИНА;ЛОЖЬ). Вот если бы можно было бы там прописать какую-нибудь функцию, выдающую окошко с сообщением.....

Еще нашла функцию MsgBox "Сообщение" (показать сообщение)...

Как бы их подружить?)))
Изменено: Allev - 22.03.2018 21:13:33
Сообщение об изменившейся ячейке
 
окошки с сообщениями выводят только макросы(((( ?
Сообщение об изменившейся ячейке
 
Пытливый, в реале вместо В2 и С2  - это десятки ячеек, раскиданных по 40 файлам. На них всех НЕВОЗМОЖНО поставить ограничения, как сделано в примере. Ограничения нужно ставить только на D2. В этом вся сложность.
Сообщение об изменившейся ячейке
 
Вы не поняли задачу. На  B2 и C2 никаких ограничений ставить нельзя т.к. в реале это не просто две ячейки, а целая цепочка ячеек с десятками формул, ведущих в гигантской базе данных из 5000 строк. Нужно просто уведомлять об изменении значения в ячейке D2 отличного от заданного.
Сообщение об изменившейся ячейке
 
Цитата
Пытливый написал:
Добрый день. Ну нарисуйте файл-пример, ну что вам, жалко, что ли?
Нарисовала пример-файл. Нужно, чтоб в ячейке D2 контролировалось число 7. Причем в B2 и C2 могли вводится любые значения. Но если вдруг в D2 становится не 7, то сразу посреди экрана должно появиться окошко с сообщением ОШИБКА!  
Сообщение об изменившейся ячейке
 
Пример. Ячейка А5=А2+А1. Данные вводятся в А2 и А1. В А5 всегда должен быть нуль. Если вдруг там не нуль (а такое может быть) т.к. могут быть изменены значения в А2 и А1, то в центре экрана должно появиться окно с сообщением " ОШИБКА".  
Сообщение об изменившейся ячейке
 
Цитата
Дмитрий Щербаков написал:
Данные -Проверка данных. Других вариантов нет.
Не работает. Это действует только на проверку ВВОДИМЫХ значений, а не уже существующих с заданными в них формулами.
Сообщение об изменившейся ячейке
 
Есть некий диапазон ячеек, значения в которых надо контролировать, чтоб они не менялись относительно заданных т.е. были равны вполне конкретным значениям (=0). Данные ячейки являются результатом целой огромной связки формул, поэтому существует опасность, что меняя некие данные, результаты в этих ячейках могут поменяться. В таком случае необходимо, чтобы появлялось окошко с сообщением, что значения в ячейках поменялись.Подскажите пожалуйста, как это можно сделать не применяя макросы.
Журнал счетов на оплату, Выставлен счет за проделанную работу -> Клиент заплатил и теперь есть дата и сумма
 
Цитата
Sanja написал:
Возможно это и не сложно, но с такой постановкой задачи (вполне себе ТЗ) Вам точно в раздел  РАБОТА
Не сложно, на пару часов работы. 1-2 тыс. руб.
Из 1с в excel
 
Но у моих коллег за соседними столами в офисе все хорошо с той же удаленкой и тем же сервером. У них никаких проблем с копированием нет. Глюки только у моего компа.
Из 1с в excel
 
У меня точно такая же проблема: 1С на удаленном рабочем столе, пытаюсь копировать из сформированного списка в 1С в Excel и цифры копируются с пробелами между разрядами. При этом дома на домашнем ноуте эта же операция проходит без всяких проблем и все копируется корректно. И у коллег в офисе с этой же 1С все копируется корректно! Проблема только у меня одной. И видимо она в моем компе. Параметры в Винде я проверила, там разделитель пробел установлен. В Экселе в параметрах также. Где еще можно посмотреть?
Выбор даты из выпадающего календаря.
 
А можно этот макрос тут текстом выложить (мне нужно добавить его в другой, уже готовый файл)?
Выбор даты из выпадающего календаря.
 
Это макрос?
Создание реестра документов со сквозной нумерацией
 
Я делала нечто подобное для формы выставления счетов. Все счета нумеруются по порядку, на болванке на месте номера документа создается  выпадающий список из базы номеров, а все остальные данные из Базы подтягиваются через функцию ПРОСМОТР по номеру счета.
Цветной выпадающий список
 
Цитата
БМВ написал:
Не притендую на правоту ибо дела такое на HTM и это был Listbox, но там использовал objOption.style.backgroundcolor = "#FFFFBB".
И как мне это в Excel применить?
Цветной выпадающий список
 
Юрий М,
Спасибо за идею! Попробую разобраться с КомбоБокс.
Цветной выпадающий список
 
Может кто-нибудь сталкивался с подобной задачей: есть источник данных (столбик наименований статей, которые залиты различным цветным фоном) и нужно получить выпадающий список с точно такой же цветной заливкой, а не просто черно-белый однообразный текст, который получается при использовании ДАННЫЕ-ПРОВЕРКА ДАННЫХ-СПИСОК.
Перенос диапазона из одной книги в другую
 
Доработали, в итоге получилось вот:
Код
Sub SummaFromFiles()
Dim iFolder As String
Dim iFiles As String
Dim i As Long
Dim iLastRow As Long
Dim iLR As Long
Dim iDate As Date
Dim FoundDate As Range
Dim FAdr As String
Dim TWB As Worksheet
Dim cellTop As Range
Dim cellDown As Range
Dim iCellTop As Long
Dim iCellDown As Long
Dim lastRowInJournal_E As Long
Dim insertRowInJournal_E As Long
Dim b As Boolean
Dim firstFoundRow
Dim lastFoundRow
Dim topAbroadTemplate 'Верхняя граница таблицы'
Dim downAbroadTemplate 'Нижняя граница таблицы'
Dim templateListName As String
Dim keyColumnToInsertInJournal As String
    keyColumnToInsertInJournal = "E"
    templateListName = "Касса"
    With Application.FileDialog(msoFileDialogFolderPicker)
      If .Show = False Then Exit Sub
      iFolder = .SelectedItems(1)      'выделяем папку с файлами для обработки
    End With
    iFolder = iFolder & IIf(Right(iFolder, 1) = Application.PathSeparator, "", Application.PathSeparator)
    Application.ScreenUpdating = False
      iFiles = Dir(iFolder & "*.xls*")          'считываем очередной файл реестра
    'iLastRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
    iDate = Range("C1")
      Set TWB = ThisWorkbook.Worksheets("База операций")
  Do While iFiles <> ""
      Workbooks.Open iFolder & iFiles
      'действия с файлом реестра
    With ActiveWorkbook.Worksheets(templateListName)
    'Поиск таблицы'
     Cells.Find(What:="Сальдо на начало периода:", After:=ActiveCell, LookIn:= _
        xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
        xlNext, MatchCase:=False, SearchFormat:=False).Activate
     'Определение координат таблицы'
     Set cellTop = Cells.Find(What:="Дата", After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)
        
   '!!!?Поставить проверку cellDown на cellTop. Если пусто -выдать предупреждение и прекратить работу?'
     Set cellDown = Cells.Find(What:="ИТОГО", After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)
   '!!!?Поставить проверку cellDown на Nothing. Если пусто -выдать предупреждение и прекратить работу?'
     Cells.Find(What:="Дата", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
        
          iCellTop = cellTop.Row
          iCellDown = cellDown.Row
          cellTop.Activate
            
          Set FoundDate = .Columns(1).Find(iDate, , xlValues, xlWhole)
         
           b = False
           Dim ranges As String
           If Not FoundDate Is Nothing Then
             firstFoundRow = FoundDate.Row
             While (iCellDown) > ActiveCell.Row
               Set FoundDate = Cells.Find(What:=iDate, After:=ActiveCell, LookIn:=xlFormulas, _
                   LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
                   MatchCase:=False, SearchFormat:=False)
               If b Then
                If FoundDate.Row <= firstFoundRow Then
                   GoTo copying
                End If
               End If
               lastFoundRow = FoundDate.Row
               FAdr = FoundDate.Address
               FoundDate.Activate
              
               'Копирование данных'
               'Find the last used column in a Row: row 1 in this example
               Dim LastCol As Range
               'With ActiveSheet
                         
               Set LastCol = Range(Cells(FoundDate.Row, cellTop.Column), Cells(FoundDate.Row, cellDown.Column + 7))
               If b Then
                ranges = ranges & "," & LastCol.Address
               Else
                ranges = LastCol.Address
               End If
               b = True
             Wend
           End If
copying:
           If Len(ranges) > 0 Then
              Worksheets(templateListName).Range(ranges).Copy
              'Вставка данных в шаблон'
                
               With TWB
                  lastRowInJournal_E = .Cells(.Rows.Count, keyColumnToInsertInJournal).End(xlUp).Row 'Ищем последнюю строку в столбце E шаблона'
                  insertRowInJournal_E = lastRowInJournal_E + 1
                  .Range(keyColumnToInsertInJournal & insertRowInJournal_E).PasteSpecial
                   
               End With
            End If
        'Закрываем книгу  без сохранения изменений
        .Parent.Close SaveChanges:=False
     End With
        iFiles = Dir    'следующий файл
    Loop
 Application.ScreenUpdating = True
End Sub
Изменено: Allev - 06.01.2018 14:23:04
Перенос диапазона из одной книги в другую
 
Как пел модератор: Кнопка цитирования не для ответа [МОДЕРАТОР]

Посмотрели! Спасибо вам большое за помощь, но, увы, не работает и выдает Ошибку 9 ((( Пытаюсь разобраться почему....
Перенос диапазона из одной книги в другую
 
Цитата
Hugo написал:
Но если там может быть строк на каждый день больше чем одна в каждом файле - то и нет смысла объяснять, тогда макрос нужен.
Да, именно так, перегружать из каждого файла надо будет по 10-20 строк в день.  
Страницы: 1 2 След.
Наверх