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

Страницы: 1
Макрос сбора данных из нескольких листов и вставка в один общий лист, Прайс-лист из нескольких листов в книге.
 
Цены нужно брать с первого столбца
Макрос сбора данных из нескольких листов и вставка в один общий лист, Прайс-лист из нескольких листов в книге.
 
В файле замечена некорректная работа макроса, так как листы с которых ведется перенос данных на один общий лист имеют разное количество столбцов, при этом происходит смещение столбцов. В общем листе переносимые данные должны размещаться строго в своем столбце. Свое место расположения в столбцах должно происходить в шапке таблицы их названия столбцов.
На листе Ошибки склейки листов показана ошибка и вариант правки.
Изменено: max_2311 - 28.02.2015 14:20:59
Макрос сбора данных из нескольких листов и вставка в один общий лист, Прайс-лист из нескольких листов в книге.
 
Спасибо.
Все работает.

- "Работать надо не 12 часов, а головой."  :D
Макрос сбора данных из нескольких листов и вставка в один общий лист, Прайс-лист из нескольких листов в книге.
 
Прошу оказать содействие в написании Макроса для сбора данных на Лист “Результат” в формате "Таблица с заголовками". Диапазон собираемых данных A2:J~  с Листов указанных в Листе “Справочник листов”, а дальше со столбца K2:R~ работают формулы, которые я написал. Файл пример во вложении

На Листе “Результаты” приведен пример. Желтая полоса – данные с листов указанные в Листе “Справочник лисов”, Диапазон A2:J97.
На Листе “Акции” заносятся позиции по которым периодически проводятся акции с указанием интервала времени. Если товар участвует в акции то в столбец K2:K~ подставляется по формуле ИНДЕКС(ПОИСКПОЗ( ……
На Листе “Курсы валют” заносятся курсы валют, которые меняются с определенным интервалом, для примера смена каждую неделю.
В столбец L2:L~ Лист “Результат” подставляется значение текущего курса по формуле ИНДЕКС(ПОИСКПОЗ( ……
Аналогичное происходит с Листом “Скидки” и Столбцами N2:N~ и P2:P~
Изменено: max_2311 - 21.02.2015 22:43:35
Выпадающий список с добавлением новых данных в определенные справочники,
 
Посли записи кода сортировки, я его копирую из модуля и вставляю в исходный текс на листе. Но возникает вопрос в какую стору нужно добавлять код? И как я правильно понял записанный код в макрорекордере копируется не весь. Например sub и тд. Что не нужно копировать?
Выпадающий список с добавлением новых данных в определенные справочники,
 
Возник еще один вопрос по выпадающему списку.
как прописать код сортировка по возрастанию (в столбце справочник (каждому столбцу свой код соркировки) после добавления нового значения в справочник


Код
 If Not Intersect(Target, Range("Учет.Тип")) Is Nothing Then
     If IsEmpty(Target) Then Exit Sub
     If WorksheetFunction.CountIf(Sheets("Справочник").Range("Справочник.Тип"), Target) = 0 Then
      lReply = MsgBox("Добавить введенное имя " & Target & " в выпадающий список - Справочник. Тип?", vbYesNo + vbQuestion)
      If lReply = vbYes Then
          Sheets("Справочник").Range("Справочник.Тип").Cells(Sheets("Справочник").Range("Справочник.Тип").Rows.Count + 1, 1) = Target
      End If
     End If
    End If
Изменено: max_2311 - 15.11.2014 15:16:30
Выпадающий список с добавлением новых данных в определенные справочники,
 
Спасибо. Все работает.
Со справочником компания разобрался.
Выпадающий список с добавлением новых данных в определенные справочники,
 
спасибо
Выпадающий список с добавлением новых данных в определенные справочники,
 
Юрий. предложенный Вами код не добавляет новое значение в справочник (например новую компанию)
Выпадающий список с добавлением новых данных в определенные справочники,
 
Sanja.
Если удалить код с 23 по 29 строку код работает.
Если не удалять, то не работает
Выпадающий список с добавлением новых данных в определенные справочники,
 
Добрый вечер.

Прошу помощи у знатоков Excel.
Во вложении файл "Сервисный журнал", в котором ведется учет Клиентов, Тип машин, Моделей машин и т.д.
При занесении данных во вкладку Учет, если значение есть в Справочнике, то значение из списка, если нет - добавляется в нужный справочник.
Но это работает только при коде на два столбца. Если код расширить до двух (и т.д.) то возникает ошибка "Block if without end if".

Прошу оказать содействие.
Всем хороших выходных.



Код
 Private Sub Worksheet_Change(ByVal Target As Range)
 
Dim lReply As Long
 
   If Target.Cells.Count > 1 Then Exit Sub
     If Not Intersect(Target, Range("Учет.Тип")) Is Nothing Then
      If IsEmpty(Target) Then Exit Sub
          If WorksheetFunction.CountIf(Sheets("Справочник.Тип").Range("Справочник.Тип"), Target) = 0 Then
           lReply = MsgBox("Добавить введенное имя " & Target & " в выпадающий список - Справочник. Тип?", vbYesNo + vbQuestion)
            If lReply = vbYes Then
                Sheets("Справочник.Тип").Range("Справочник.Тип").Cells(Sheets("Справочник.Тип").Range("Справочник.Тип").Rows.Count + 1, 1) = Target
            End If
          End If
      Else
      If Not Intersect(Target, Range("Учет.Бренд")) Is Nothing Then
      If IsEmpty(Target) Then Exit Sub
          If WorksheetFunction.CountIf(Sheets("Справочник.Бренд").Range("Справочник.Бренд"), Target) = 0 Then
           lReply = MsgBox("Добавить введенное имя " & Target & " в выпадающий список - Справочник. Бренд?", vbYesNo + vbQuestion)
            If lReply = vbYes Then
                Sheets("Справочник.Бренд").Range("Справочник.Бренд").Cells(Sheets("Справочник.Бренд").Range("Справочник.Бренд").Rows.Count + 1, 1) = Target
             End If
          End If
      Else
      If Not Intersect(Target, Range("Учет.Модель")) Is Nothing Then
      If IsEmpty(Target) Then Exit Sub
          If WorksheetFunction.CountIf(Sheets("Справочник.Модель").Range("Справочник.Модель"), Target) = 0 Then
           lReply = MsgBox("Добавить введенное имя " & Target & " в выпадающий список - Справочник. Модель?", vbYesNo + vbQuestion)
            If lReply = vbYes Then
                Sheets("Справочник.Модель").Range("Справочник.Модель").Cells(Sheets("Справочник.Модель").Range("Справочник.Модель").Rows.Count + 1, 1) = Target
            End If
          End If
End Sub
Поиск значения из предложения в ячейки по параметрам описанным в коде и вывод значений в новую ячейку
 
Всем спасибо.
решил через текст по столбцам
Поиск значения из предложения в ячейки по параметрам описанным в коде и вывод значений в новую ячейку
 
Добрый вечер.
Есть необходимость проанализировать таблицу с данными импорта в диапазоне A1:BU25000 (диапазон меняется вниз).
Но столкнулся с тем, что данные по машинам (модель, грузоподъемность, высота мачты и т.д.) находятся в одной ячейке, это приводит к невозможности создания сводной таблицы для анализа.
Как из общего предложения в ячейки выделить в отдельные ячейки значения и данные следующими за ними? (данные разделены знаком, что облегчает поиск).
Значения для поиска (для кода)
Модель
Грузоподъемность
Мачта

и т.д. список исковых значений может меняться.

Если задача для Вас не сложная прошу оказать содействие в написании кода.
Вариантов написания у меня нет.
Изменено: max_2311 - 04.05.2014 12:40:03
[ Закрыто] Ошибка run-time error '1004' в коде
 
Также возникает ошибка в строке If Not.
Код
Private Sub Worksheet_Change(ByVal Target As Range)     
Application.DisplayAlerts = False    For Each cell In Target   ' 
 If Not Intersect(Cell, Union([C11], [C62:C65])) Is Nothing Then ' C11, C62:C65       
Cell.Offset(0, 3) = Now     
End If     
Next cell     
Application.DisplayAlerts = True 
End Sub
Изменено: max_2311 - 15.04.2014 22:07:57
[ Закрыто] Ошибка run-time error '1004' в коде
 
Добрый день.
Сегодня заметил, что код выдает ошибку 424 - Object required. в строке If Not Intersect(cell, [C11], [C62:C65]

Код
Private Sub Worksheet_Change(ByVal Target As Range) Application.DisplayAlerts = False For Each cell In Target    If Not Intersect(cell, [C11], [C62:C65]) Is Nothing Then '    End If    Next cell    Application.DisplayAlerts = TrueEnd Sub


Ранее использовался код, но время не менялось.
Код
   Private Sub Worksheet_Change(ByVal Target As Range)    Application.DisplayAlerts = False    For Each cell In Target   If Not Intersect(cell, [C11], [C62:C65]) Is Nothing Then '      Cell.Offset(0, 3) = Now    End If    Next cell    Application.DisplayAlerts = TrueEnd Sub
Изменено: max_2311 - 15.04.2014 15:02:55
Отправка книги или листа по электронной почте, Отправка файла вложением через Outlook
 
Спасибо.
Думаю на рабочий лист будет лучше, так как компьютеры в сетке и возможно действительно проблемы с правом доступа.
Изменено: max_2311 - 15.04.2014 12:06:16
[ Закрыто] Ошибка run-time error '1004' в коде
 
Исправил. Спасибо за подсказку.
Отправка книги или листа по электронной почте, Отправка файла вложением через Outlook
 
Отправка книги или листа по электронной почте, Отправка файла вложением через Outlook
 
Цитата
Sanja пишет: Проверял на двух своих почтовых ящика, все работает
Спасибо.
У меня на компьютере все работает в том числе вложение документа и сохранение файла на диске C: и тд,, но на другом компьютере после отправленного мною файла другому пользователю для заполнения, при нажатии кнопки отправить возникает ошибка 404. (ошибка ссылается на путь сохранения файла).
[ Закрыто] Ошибка run-time error '1004' в коде
 
Исправил код и возникла ошибка 424


Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.DisplayAlerts = False
    For Each cell In Target   'проходим по всем измененным ячейкам
    If Not Intersect(cell, Range("C11, C62:C65"    ) Is Nothing Then 'если изменененная ячейка попадает в диапазон C11, C62:C65
      
    End If
    Next cell
    Application.DisplayAlerts = True
End Sub
Изменено: max_2311 - 11.04.2014 23:20:49
[ Закрыто] Ошибка run-time error '1004' в коде
 
В написании кода еще не силен, поэтому за основу взял, что было в интернете.
За подсказку спасибо.
[ Закрыто] Ошибка run-time error '1004' в коде
 
Извините, но ошибка опять проявилась. В коде выделяется .Value=Now
Подскажи где ошибка в коде?
Код
Private Sub Worksheet_Change(ByVal Target As Range) 
 Application.DisplayAlerts = False 
 For Each cell In Target 
    If Not Intersect(cell, Range("C11, C61:C64" [IMG WIDTH=16 HEIGHT=16]http://www.planetaexcel.ru/bitrix/images/forum/smile/icon_wink.gif[/IMG] ) Is Nothing Then 
      With cell.Offset(0, 3)    
      [COLOR=#ff0000] .Value = Now [/COLOR]
       End With 
    End If 
 Next cell 
 Application.DisplayAlerts = True 
End Sub
Изменено: max_2311 - 12.04.2014 11:53:52
Отправка книги или листа по электронной почте, Отправка файла вложением через Outlook
 
Во вложении пример к сообщению от 11 Апр 2014 09:57:15. Проблема описана выше.
Прошу оказать содействие в познаниях VBA.
Спасибо
Изменено: max_2311 - 11.04.2014 16:58:49
Отправка книги или листа по электронной почте, Отправка файла вложением через Outlook
 
Цитата
vikttur пишет: Правила писаны и для Вас тоже.
Спасибо. С причиной прикрепления файла разобрался.
Изменено: max_2311 - 11.04.2014 17:42:53
Отправка книги или листа по электронной почте, Отправка файла вложением через Outlook
 
Спасибо, но в примере #2. Отправка активной книги, с указанием одного получателя и названием, указываемым в самом коде.

А мне нужно подтягивать название файла с активной книги .Subject=Range("A5"[IMG].Value - значение переменное, так как файл приходит от многих пользователей в компании.
Список получателей письма задается на активном листе (список редактируемый), далее все указанные получатели объединяются в ячейке G7.

Если в двух словах, то ко второму варианту я не могу прописать код указанный ниже. В режиме Display . Получатели указаны, тема подтягивается из A5, а вложения нет.
Код
  With OutMail      
.To = Range("G7" [IMG] .Value      
.Subject = Range("A5" [IMG] .Value      
.Body = "Добрый день. Прошу рассмотреть запрос на скидку. Паспорт сделки во вложении."      'команду Send можно заменить на Display, чтобы посмотреть сообщение перед отправкой   
.Display     End With 
Файл для примера во вложении.
Кратко о файле.
Менеджеры из филиалов отправляют запросы на скидку с предоставлением информации что? кому? за сколько?
1. Очистка файла (макрос очищает шаблон)
2. Заполняется бланк
3. После заполнения файла пользователь нажимает отправить (макрос).
По задумке код должен выполнить:
1. сохранить документ в папке для всех пользователей сети в одной папке (например: C:\ .... (путь для всех менеджеров один) \Мои документы\ Паспорт сделки\[Имя файла из ячейки A5]. Если папки нет то макрос предлагает создать. Далее файл отправляется указанным лицам L7:L11 (слияние G7). С темой письма A5.

Ошибка 1004
При переходе с ячейки G11 на C13.

Файл для примера отправить не могу - ошибка при сохранении файла.
Могу отправить в личку
Изменено: max_2311 - 11.04.2014 10:43:02
Отправка книги или листа по электронной почте, Отправка файла вложением через Outlook
 
Добрый день.
Не могу написать макрос для отправки документа вложением через Outlook.
Все сделал по примеру Универсального макроса №3 (http://www.planetaexcel.ru/techniques/13/48/), но вложение прикрепить не получается, так как в примере описывается процедура прикрепления файла по месту хранения, а мне нужно отправлять активную книгу.
Где допускаю ошибку?
Код
Sub SendMail()
    ActiveWorkbook.SendMail
    Dim OutApp As Object
    Dim OutMail As Object
    Dim cell As Range     
     
    Application.ScreenUpdating = False
    Set OutApp = CreateObject("Outlook.Application" ;)    'запускаем Outlook в скрытом режиме
    OutApp.Session.Logon
    On Error GoTo cleanup  'если не запустился - выходим
    Set OutMail = OutApp.CreateItem(0)  'создаем новое сообщение
    On Error Resume Next
    'заполняем поля сообщения
    With OutMail
     .To = Range("G7" ;) .Value
     .Subject = Range("A5" ;) .Value
     .Body = "Добрый день. Прошу рассмотреть запрос на скидку. Паспорт сделки во вложении."
     'команду Send можно заменить на Display, чтобы посмотреть сообщение перед отправкой
     .Display 
    End With
 
    On Error GoTo 0
    Set OutMail = Nothing
cleanup:
    Set OutApp = Nothing
    Application.ScreenUpdating = True
End Sub
;
Страницы: 1
Наверх