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

Страницы: 1
Запус макроса на событие Вставка или событие Автозаполнение в определенном диапазоне
 
Здравствуйте, дорогие форумчане!

Очень нужна Ваша помощь.

У меня есть макрос, который срабатывает при изменении данных в диапазоне  H3 - H10 000 на определенном листе (ниже приведен код).
(Макрос заполняет столбцы B, I, J,  в зависисости от значения внесенного в H)
Если изменение идет обычным способом, то есть пользователь вручную меняет значение в ячейке указанного диапазона (H), то макрос срабатывает для данной строки и все в порядке.
Но если пользователь вставляет данные сразу в несколько ячеек указанного диапазона (H), то макрос срабатывает только для первой строки измененного диапазона в H.
То же самое происходит, если данные вносятся через заполнение-протягивание.

Подскажите пожалуйста, как мне изменить код, чтобы он срабатывал для всех измененнных ячеек в диапазоне и при внесении вручную, и при протягивании, и при вставке нескольких значений.

Большое спасибо заранее!

КОД СРАБАТЫВАЮЩИЙ НА УРОВНЕ СТРОКИ
Код
Private Sub worksheet_change(ByVal Target As Range)


Dim cellsR As Range
Set cellsR = Worksheets("TASK").Range("H3:H10000")
If Not (Intersect(Target, cellsR) Is Nothing) Then


    Dim i As Long

    
    i = Target.Row
    
    
        If Cells(i, 8).Value = 0 And Cells(i, 8).Value <> "" Then
           Cells(i, 9).Value = ""
           Cells(i, 10).Value = ""
           Cells(i, 2).Value = Sheets("REF").Range("A1").Value
           
                Else
                    If Cells(i, 8).Value = 1 And Cells(i, 9).Value = "" And Cells(i, 10).Value = "" Then
                    Cells(i, 9).Value = Date
                    Cells(i, 10).Value = Date
                    Cells(i, 2).Value = Sheets("REF").Range("A2").Value
                    
                          Else
                                If Cells(i, 8).Value = 1 And Cells(i, 9).Value <> "" And Cells(i, 10).Value = "" Then
                                Cells(i, 10).Value = Date
                                Cells(i, 2).Value = Sheets("REF").Range("A2").Value
                                
           
                                Else
                                    If Cells(i, 8).Value > 0 And Cells(i, 8).Value < 1 And Cells(i, 9).Value = "" Then
                                    Cells(i, 9).Value = Date
                                    Cells(i, 10).Value = ""
                                    Cells(i, 2).Value = Sheets("REF").Range("A3").Value
                                    
                                    Else
                                        If Cells(i, 8).Value > 0 And Cells(i, 8).Value < 1 And Cells(i, 9).Value <> "" Then
                                        Cells(i, 10).Value = ""
                                        Cells(i, 2).Value = Sheets("REF").Range("A3").Value
               

                    
                    End If
                End If
                          
            End If
        End If
  End If

End If

End Sub
КОД ПРОХОДЯЩИЙСЯ ПО ВСЕМ СТРОКАМ СРАЗУ
Код
Sub CellsUpdate()

    Dim LastRow As Long
    Dim i As Long
    
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
    
    For i = 3 To LastRow
    
        If Cells(i, 8).Value = 0 And Cells(i, 8).Value <> "" Then
           Cells(i, 9).Value = ""
           Cells(i, 10).Value = ""
           Cells(i, 2).Value = Sheets("REF").Range("A1").Value
                
                Else
                    If Cells(i, 8).Value = 1 And Cells(i, 9).Value = "" And Cells(i, 10).Value = "" Then
                    Cells(i, 9).Value = Date
                    Cells(i, 10).Value = Date
                    Cells(i, 2).Value = Sheets("REF").Range("A2").Value
           
                          Else
                                If Cells(i, 8).Value = 1 And Cells(i, 9).Value <> "" And Cells(i, 10).Value = "" Then
                                Cells(i, 10).Value = Date
                                Cells(i, 2).Value = Sheets("REF").Range("A2").Value
           
                                Else
                                    If Cells(i, 8).Value > 0 And Cells(i, 8).Value < 1 And Cells(i, 9).Value = "" Then
                                    Cells(i, 9).Value = Date
                                    Cells(i, 10).Value = ""
                                    Cells(i, 2).Value = Sheets("REF").Range("A3").Value
                                    
                                    Else
                                        If Cells(i, 8).Value > 0 And Cells(i, 8).Value < 1 And Cells(i, 9).Value <> "" Then
                                        Cells(i, 10).Value = ""
                                        Cells(i, 2).Value = Sheets("REF").Range("A3").Value
               

                    
                    End If
                End If
                          
            End If
        End If
  End If
           
  Next i

End Sub
Функционал Поиска Решения со сложными критериями, Поиск решения со сложным условием
 
Предположим, есть файл, в этом файле - столбец разных значений.
Все значения уникальны (в исходном примере - это числа с целой и дробной частью (сотые)
При сложении некоторых из них получается сумма.
Как по сумме определить, какие именно числа были сложены?
Теоретически, при таком формулировании задачи, может быть несколько решений, но предположим, что чисел немного - около 10-ти, а дробная часть делает их еще более уникальными.

Для простоты - пример:
Желтые ячейки сложили, получили ответ.
Как по значению вычислить, какие ячейки суммировались?



Я начала думать в направлении Поиска Решения, где в качестве критерия каждая ячейка может быть равна либо тому значению, что внее вписано, либо 0, дальше не думается.
Уважаемые форумчане, прошу помощи!
Подсчет и суммирование уникальных значений столбца, когда в других столбцах есть определенные критерии, Подсчет и суммирование уникальных значений столбца, когда в других столбцах есть определенные критерии
 
Здравствуйте, дорогие форумчане.
Помогите мне пожалуйста с такой задачей.

Имеется таблица следующей структуры (смотрите вложенный файл)
Необходимо найти сумму и количество уникальных значений в первом столбце при выполнениеи двух условий в двух других столбцах.
в приложенном файле количество будет 3, сумма - 3351.

Можно ли посчитать это с помощь. функций? Не используя сводную и код.

Спасибо за Ваше время.
Макрос посылающий сообщение из Excel на почту
 

Здравствуйте, помогите пожалуйста со следующим заданием.

Есть файл с контрактами и датами их истечения. Необходимо, чтобы 1 раз в неделю файл автоматически открывался, фильтровался на предмет того, будут ли какие-либо контракты просрочены в течение следующих 30 дней, и если да, то эти контракты дрлжны быть скопированы в сообщение Outlook и высланы на определенную почту.

Покопавшись в нете, я смогла пока сделать только следующее. Помогите пожалуйста или советами, или ссылками, или, если не трудно, готовым кодом.

Заранее спасибо за Ваше время.

Чтоб файл открывался один раз в неделю автоматически, я использую задачи Виндоус.

А это код в эксель.

Код
Sub SendEmail()
Dim olDate As Double
olDate = Date + 30
With Sheet1
    .AutoFilterMode = False
    .Range("a1:B1").AutoFilter
    .Range("A1:B1").AutoFilter field:=2, Criteria1:="<=" & olDate
 End With
  Range("a1:b15").Select
  Selection.Copy
  
  
Dim olApp As Outlook.Application
Set olApp = CreateObject("Outlook.Application")

Dim olMail As Outlook.MailItem
Set olMail = olApp.CreateItem(olMailItem)



olMail.To = "test1@gmail.com"
olMail.Subject = "Overdue contracts"
olMail.Body = Selection
olMail.Send

End Sub
Подстановка значений в тот же столбец, в котором имеются данные с помощью функции.
 
Здравствуйте, форумчане,

Есть список имен сотрудников, во втором столбце есть номер паспорта сотрудников. Имена в первом столбце могут повторяться. Необходимо, чтобы если имя повторяется, паспортный номер автоматом подтягивался из уже заполненных строк, если они есть, если нет, то формула может возвращать НД или пустую ячейку.
В приложенном файле я на небольшом примере реализовала это через ВПР с циклической ссылкой. В примере формула работает, но в большом файле она не работатет и выдает 0-ли. Подскажите, пожалуйста, как решить проблему и правильно ли когда ВПР берет значения из того же столбца, куда потом их подставляет?

Спасибо!
Значение одной ячейки копировать в последнюю ячейку строки в определенном диапазоне, добавить код в существующий макрос
 
Здравствуйте, Дорогие Все,

Есть много типовых файлов. Содержат одинаковую по структуре информацию. Есть макрос, который собирает данные из разных книг в определенной папке и помещает их в одну книгу. (типовые файлы приложены к сообщению и  называются File(1), File (2) и так далее, всего 4)

Вот код макроса
Код
Sub GetSheets()Path = "C:\Users\user00\Desktop\New folder\"Filename = Dir(Path & "*.xls*")  
Do While Filename <> ""  
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)  
Next Sheet     
Workbooks(Filename).Close     
Filename = Dir()  LoopEnd Sub
Есть второй макрос, который копирует нужные строки со всех листов и переносит их в один лист.
Вот код макроса
Код
Sub Combine()    
Dim J As Integer    
Dim s As Worksheet     
On Error Resume Next    
Sheets(1).Select    
Worksheets.Add 
' add a sheet in first place    
Sheets(1).Name = "Combined"     
For Each s In ActiveWorkbook.Sheets        
If s.Name <> "Combined" Then            
Application.GoTo Sheets(s.Name).[O10]            
Selection.CurrentRegion.Select            
' Don't copy the headings            
Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select            
Selection.Copy Destination:=Sheets("Combined"). _              
Cells(Rows.Count, 1).End(xlUp)(2)        
End If    
NextEnd Sub

Проблема в том, что данные с каждого листа переносятся не полностью. На картинке обведена ячейка откуда информация должна копироваться и крестиками отмечены ячейки, куда эта информация должна быть перенесена.Картинка приложена к сообщению.

В результате работы этих модифицированных макросов должно получиться то, что видно в приложенном файле с названием Results.
Помогите пожалуйста изменить макросы так, чтобы все заработало.

Спасибо, жду Ваших ответов :)
Изменено: iteraciya - 04.08.2015 22:02:03
Как в таблице с 4 типами входных данных создать определенные суммирующие отчеты
 
Здравствуйте,
Имеется таблица, с строках - имена, в колонках - названия тренингов, на пересечении - присутствие (да или нет) и дата тренинга.
Необходимо создать следующие отчеты с помощью формул:

- сколько человек прошли тренинги в месяц (с учетом отсутствия и присутствия),
- сколько человек были записаны на тренинг в месяц (то есть, без учета отсутствия и присутствия, просто по дате)
- какие тренинги были в определенном месяце
- кто прошел определенный тренинг в определенном месяце

И последний вопрос:
Правильно ли построена база данных или для этих отчетов нужен другой формат базы, если нужен, то подскажите, как ее лучше организовать?

Спасибо!
Счет по условию в сводной таблице
 
Здравствуйте,
Возможно ли в сводной таблице добавить поле, которое будет считать строки, в зависимости от того, что в них написано.
Например,  в приложенном файле мне нужно подсчитать только отрицательные значения в поле Number.
В источнике данных я добавлять вспомогательное поле не хочу.

С уважением,
Итерация
Почему пустой файл весит 230 кб?
 
Уважаемые форумчане,
В приложении пустой файл Excel который почему-то весит 230 кб, нет скрытых листов, нет форматирования, нет модулей, нет объектов, нет связей, нет имен.
Почему же он такой большой?

Спасибо!
Формула СЧЕТЕСЛИ возвращает #ЗНАЧ. В чем ошибка?
 
Здравствуйте,

Подскажите, в чем ошибка? Формула возвращает #ЗНАЧ.

=COUNTIF(UnitStatus,UnionValue)

a - b - #VALUE!
a - a - #VALUE!
b - b - #VALUE!
a - b - #VALUE!


UnitStatus = Sheet1!$A:$A&Sheet1!$B:$B
UnionValue = Sheet1!A2&Sheet1!B2

Можно ли решить одной формулой, без дополнительный столбцов (хочу использовать в условном форматировании)?

Все должно работать в Excel 2003.

Спасибо!
Изменено: iteraciya - 04.06.2013 14:15:35
Excel 2003. Считать количество записей в базе данных, не учитывая повторяющиеся строки.
 
Здравствуйте,

Имеется реестр состоящий из многих столбцов. Один столбец содержит информацию о статусе (открыт, закрыт), другой – порядковые номера. Порядковые номера могут повторяться. У записей с одинаковым порядковым номером статус всегда один. Нужно подсчитать сколько порядковых номеров открыто, сколько закрыто.
В приложенном файле - мое корявое решение. Недостаток: если в реестре удалить строку, то ссылки съезжают. Есть какое-нибудь красивое и, главное, работающее решение? Массивы или еще что-то?
Все должно работать в Excel 2003.

Спасибо.
Создание 3х связанных списков, Связанные списки
 
Необходимо создать три взаимосвязанных выпадающих списка, которые будут брать данные из таблицы приведенной внизу.
На сайте описано создание двух связанных списков с помощью именованных диапазонов и функции ДВССЫЛ, но если я применю этот способ, то придется создавать 900 вспомогательных списков. Нет ли какого-нибудь другого способа?
Пример данных может быть любым, например, таким, как указано ниже. Задача усложняется еще и тем что уникальны значения только в первом столбце, во втором и в третьем они могут повторяться, но сочетание 3 значений, разумеется, уникально.

Task Activity Phase
aaa aaa1 aaa1a
aaa aaa2 aaa21
aaa aaa3 aaa3a
aaa aaa1 aaa1b
aaa aaa2 aaa2b
aaa aaa3 aaa3b
bbb bbb1 bbb1a
bbb bbb2 bbb2a
bbb bbb3 bbb3a
bbb bbb1 bbb1a
bbb bbb2 bbb2a
bbb bbb3 bbb3a

Спасибо.
Страницы: 1
Наверх