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

Страницы: 1
Сводные таблицы через VBA
 
Всем привет!

В примере есть сводная таблица (лист3), расположенная между заголовком и справочной информацией. Каким образом обозначить этот дипазон в коде  для формирования записей в этой сводной таблице. На листе2 представлен вариант сводной таблицы, когда на листе есть только сводная таблица.


 
Вывод данных по дате
 
Здравствуйте!
Столкнулся со следующей проблемой. Есть база данных, и из неё на определенную дату требуется выводит данные в другую таблицу, которая построена по другому. Ранше пользовался обычными функциями ИНДЕК И ПОИСКПОЗНАЧ. Сейчас надо выбрать дату, и чтобы в красную таблицу (см.пример) , занеслась вся информация из исходной таблицы по этой дате. Подскажите как это можно реализовать.
Удаление строки перед строкой Итого
 
Здравствуйте!

Подскажите как удалить предыдущую строку перед строкой "ИТОГО". Ранее рассмотренные примеры по удалению строк не подходят для этой задачи, т.к. эта таблица является частью ещё большей таблицы.
Поиск локальных максимумов в таблице
 
Здравстуйте!
Подскажите пожалуйста способ решения следующей задачи:
Имеется таблица данными по ценам. Как определить максимум в рамках одного номера?
Справа от ячейки  с максимальной ценой должна стоят цифра "1", в остальных слуаях "0"

На форуме есть пример, где создается дополнительный столбец, в который в каждую ячейку заносится  каждое предыдущее максимальное значение цены, и если оно меньшее значения цены, то в этот столбец заносится новое максимальное знаение. У меня не получилось подогнать этот пример под свою задачу.
По коду, как я понял, надо определять строку с начальной и конечной строками, в рамках которых будет проводится поиск максимального значения. А что дальше делать непонятно...
Код
Sub Кнопка1_Щелчок()
Dim iLastRow As Long, iStartRow As Long, iEndRow As Long
Dim iNumber As Long
iLastRow = Cells(Rows.Count, "B").End(xlUp).Row
For i = 4 To iLastRow
If iStartRow = 0 Then iStartRow = i
iNumber = Cells(i, "B").Value
If Cells(i + 1, "B")<> iNumber Then iEndRow = i
'основной код
End Sub
Поиск ячеек и копирование данных методом find
 
Добрый день!

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


Код
Private Sub UserForm_Initialize()
ComboBox1.List = Worksheets("Лист1").Range(Cells(2, 3), Cells(Rows.Count, 3).End(xlUp)).Value
End Sub
Private Sub CommandButton1_Click()
With Worksheets("Лист1")
Set a = .Range(Cells(2, 3), Cells(Rows.Count, 3).End(xlUp)).Value
a.Find(What:=ComboBox1.Value, LookIn:=xlValues, LookAt:=xlWhole).Value
End With
ActiveCell.Value = a
End Sub
Копирование данных одного динамического массива в другой
 
Если надо скопировать часть таблицы, размер которой может меняться в столбцы другой таблицы, размер которой тоже меняется:
Код
Sub Кнопка1_Щелчок()n = Worksheets("Лист2" ).Cells(Rows.Count, 1).End(xlUp).Row
For i = 4 To n     
With Worksheets("Лист1")    
LastRow = .Cells(65536, 1).End(xlUp).Row + 1     
.Cells(LastRow, 8).Value = Worksheets("Лист2") .Cells(i, 2).Value     
End With
Next i
End Sub
Какая проблема: из второй таблицы на Листе2 копируется только последняя ячейка диапазона B4:B9 в первую ячейку диапазона Н2:Н8 первой таблицы на Лист2.
а надо соотвественно, чтобы диапазон B4:B9 переходил в Н2:Н8 именно в такой постановке кода.
Ошибка при выполнении инициализации Userform
 
Всем привет!
Столкнулся со следующей проблемой: есть база данных, которая заполняется через userfrom на листе1, и в этой userform есть combobox1 со значениями, которые берутся из листа 4 и через эту форму заносят на лист1 при выборе соответствующего значения. При выполнении вылезает ошибка: 1004 Application-defined or object-defined error. Выкладываю код:

Код
Private Sub UserForm_Initialize()
ComboBox1.List = Worksheets("Лист4").Range(Range("B4"), Range("B" & Rows.Count).End(xlUp)).Value
End Sub 
 

Private Sub CommandButton1_Click() 
    Application.ScreenUpdating = False                 
    Application.Calculation = xlCalculationManual
Код
     With Worksheets("Лист1")
     LastRow = .Cells(65536, 1).End(xlUp).Row + 1
     .Cells(LastRow, 1).Value = TextBox1.Text           
     .Cells(LastRow, 2).Value = TextBox2.Text          
     .Cells(LastRow, 3).Value = TextBox3.Text
     .Cells(LastRow, 4).Value = TextBox4.Text
     .Cells(LastRow, 6).Value = TextBox5.Text
     .Cells(LastRow, 8).Value = ComboBox1.Value
     End With
    
    Application.Calculation = xlCalculationAutomatic    
    Application.ScreenUpdating = True                
End Sub
 
Список дат в ComboBox c уникальными записями и привязанные к динамичному массиву дат
 
Здравствуйте!
Столкнулся со следующей проблемой,  прошу помощи опытных форумчан.
Требуется создать форму с списком, списком который будет иметь следующие свойства:

1. Иметь формат даты: dd/mm/yyyy
2. Содержать уникальные записи в выпадающем списке ComboBox
3. Массив дат на листе может сокращаться или увеличиваться, и список в ComboBox тоже должен это учитывать.
С первой задачей я вроде справился, вторую пробою решить через UniqueItems, но что-то не получается. По третьей задаче, я думал написать следующий код, но excel выводит ошибку:
Код
Private Sub UserForm_Initialize()
Dim iMassiv As Range
Set iMassiv = Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp))
ComboBox1.Value = iMassiv
End Sub
Прошу помочь, подсказать, где можно что-нибудь изучить, чтобы решить эти задачи.
изменения цвета ячейки по условию.
 
Всем, привет!

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

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

Прикрепил небольшой фрагмент для чего надо написать макрос.

Сам думал написал такой код, но он не заработал:

Sub Макрос1()
If Range("B7:B12").Value = "НИЗ" Then
Range("B6").Interior.ColorIndex = 43
End If
End Sub

Прошу помощи опытных форумчан.
Страницы: 1
Loading...