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

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

такая проблемка, есть формула
=ЕСЛИ(ЕОШ(ПОИСК("пример";$G75)>0);"";$G75)
нужно с помощью неё вытягивать из столбца G те ячейки который содержать указываемый текст, в данном случае слово "пример", всё работает, но не могу понять как сделать так что бы не вытягивались ячейки содержащие слово "примерНО".....как указать константу....как когда указываешь $A$5 значит конкретно эта ячейка....как с текстом также указать?
Проверка данных. Сформировать список допустимых для ввода в ячейку значений
 
Спасибо огромное, действительно отличный инструмент, спасибо ещё раз!
Проверка данных. Сформировать список допустимых для ввода в ячейку значений
 
Да Спасибо, так действительно лучше, только я не понимаю как это работает, скажите про какой объект почитать справку? это тоже список? просто у него в формате ячеек нет ничего...всё как в обычной ячейке....
Проверка данных. Сформировать список допустимых для ввода в ячейку значений
 
Уважаемые специалисты, гляньте плиз, сделал громоздкую конструкцию, может можно как-то проще...
я делаю несколько выпадающих  списков, в примере 1 спсиок, нужно чтобы при выборе из списка выбранное ставилось в А5 в данном примере.
Поиск ФИО в массиве и выбор нужных данных
 
спасибо огромное! понял ошибку.
Поиск ФИО в массиве и выбор нужных данных
 
Добрый День! нужна помощь, не могу понять почему формула не работает ошибка #ССЫЛКА
формула нужна для того чтобы в ячейке J1 писать ФИО и при этом выбиралось бы соответствующее значение в столбце С
вставка значения в указанную ячейку при условии в другой ячейке, если ячейка содержит указанное значение то вставить в другую ячейку заданный текст
 
я прошу прощения а как можно сделать что бы на "Лист2" в столбце D проставлялись данные которые есть на листе основа в столбце С ? просто нужно что бы и тот кто заводит на листе основа и тот кто заводит на "Лист 2" видели бы общую картину по столбцу с ФИО....
вставка значения в указанную ячейку при условии в другой ячейке, если ячейка содержит указанное значение то вставить в другую ячейку заданный текст
 
Огромное Вам Спасибо! всё работает как нужно!!!
вставка значения в указанную ячейку при условии в другой ячейке, если ячейка содержит указанное значение то вставить в другую ячейку заданный текст
 
забыл написать что ещё нужно очень чтобы после того как по кнопке данные вставятся в в Лист2 в свободную ячейку в столбце D эти же данные вставились в следующую свободную ячейку в столбце "С" в листе "основа ".
вставка значения в указанную ячейку при условии в другой ячейке, если ячейка содержит указанное значение то вставить в другую ячейку заданный текст
 
Доброе время суток!
очень нужна помощь плиз.
нужен макрос который на "Лист 2" по кнопке "ввод инфо" будет после ввода информации в столбец F проверять значение в столбце С и если в С "занято" то искать ниже "свободно" и вставлять данные из F.
то есть вводим в F2  "ромашов" нажимаем кнопку "ввод инфо" и "ромашов" должно попасть в D4.
потом вводим в F3  следующую фамилию и после проверки свободной ячейки в С новая фио должна попасть в D
книга будет общей и с ней одновременно будут работать разные люди один будет заполнять на листе основа, другой на лист1 и потом добавяться ещё листы такие же как и лист1 для других людей поэтому и нужна проверка что бы не писали в одну ячейку одновременно.
Поиск в выпадающем списке: ищет только по первому слову, нужно по любой части из наименования
 
Вопрос решён на 100%!!
спасибо Юрий М за помощь!
Огромное спасибо МатросНаЗебре, вообще не думал в сторону решения своей проблемы с помощью формул....
Ресурс очень полезный, спасибо всем участникам!!!
Поиск в выпадающем списке: ищет только по первому слову, нужно по любой части из наименования
 
да действительно... не подумал......читаю сейчас про метод find ....
Поиск в выпадающем списке: ищет только по первому слову, нужно по любой части из наименования
 
насчёт кнопки мысль верная, буду подумать как её прикрутить , но проблема в том что не ищет по части названия....только если полностью вводить...
Поиск в выпадающем списке: ищет только по первому слову, нужно по любой части из наименования
 
да ручной ввод
Поиск в выпадающем списке: ищет только по первому слову, нужно по любой части из наименования
 
Добрый День, уважаемые специалисты!
такая вот проблема сделал выпадающий список который ищёт вводимые в него данные на листе 2 из примера в диапазоне столбца В и выводит результат поиска на лист 1 в О5, но проблема в том что поиск ведётся только по первому слову .... а нужно по любой части из названия , например (шайба 12стб) нужно чтобы при вводе в список 12стб находил...нужное....
возможно ли решение в данной конструкции или этот список так не может и нужно использовать что нибудь другое.....автофильтр не подходит по причине что нужно чтобы быстро было встал в список и набираешь....
Заранее благодарен за отклик.
файл пример в аттаче.
Макрос вставки формул в диапазон до последней непустой ячейки определённой из другого диапазона
 
странно, но ругается что "метод AutoFill из класса Range завершён не верно"....
Макрос вставки формул в диапазон до последней непустой ячейки определённой из другого диапазона
 
в принципе понял, спасибо, уточнение в примере V строка 7 , если диапазон где ищется свободная ячейка на другом листе то нужно как указать например Лист1! вот так? но так пишет что неверно...
Код
Range("A5").AutoFill Destination:=Range("Лист1!A5:A" & iLastRow), Type:=xlFillDefault
Макрос вставки формул в диапазон до последней непустой ячейки определённой из другого диапазона
 
Добрый день!!!
Подскажите пожалуйста , есть макрос insert_formulas
Код
Sub insert_formulas()
'
' insert_formulas Макрос
    Range("A5").Select
    ActiveCell.FormulaR1C1 = "=Таблица_база_Лист3[@[это база]]"
    Range("A5").Select
    Selection.AutoFill Destination:=Range("A5:A1330"), Type:=xlFillDefault
    Range("A5:A1330").Select
End Sub
и есть макрос search_free_cell
Код
Sub search_free_cell() ' поиск своб ячейки
Dim iLastRow As Long
iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
Cells(iLastRow + 1, 1).Select
End Sub1
как сделать так чтобы второй макрос не только ставил таргет на последнюю свободную ячейку указанного столбца но и мог передать координаты этой ячейки для первого макроса, что бы
Код
 Selection.AutoFill Destination:=Range("A5:A1330"), Type:=xlFillDefault
    Range("A5:A1330").Select
конечный диапазон вместо А1330 устанавливался исходя из того что определил макрос search_free_cell
Убрать замену формул на значения в макросе, нужна помощь с имеющимся макросом
 
Добрый день!!!
на этом форуме для меня писали макрос (ещё раз спасибо тому кто помогал), он ниже,
Код
Sub in_actualize_stocs()
    Dim arrTmp, i As Long, wb As Workbook, wsh As Worksheet, lLastRow As Long, _
        rngShop As Range, arrShop, dictShop As Object, _
        rngStorage As Range, arrStorage, dictStorage As Object
' - тут объявляем имена листов
    Const sSTORAGE_NAME_WSH As String = "продано"
    Const sSHOP_NAME_WSH As String = "магазин"
      
    Set wb = ActiveWorkbook
      
' - проверили наличие листов склад, приход
    arrTmp = Array(sSTORAGE_NAME_WSH, sSHOP_NAME_WSH)
    With wb
        On Error Resume Next
        For i = LBound(arrTmp, 1) To UBound(arrTmp, 1)
            Set wsh = .Sheets(arrTmp(i))
            If wsh Is Nothing Then
                MsgBox "Ключевой лист """ & arrTmp(i) & """" & Chr(10) & _
                    "отсутствует в книге """ & .Name & """." & Chr(10) & _
                    "Макрос прерывает свою работу.", vbCritical
                Exit Sub
            End If
        Next i
        On Error GoTo 0
  
' - считать продажи приход. в массив (ш/к, продано)
        With .Sheets(sSHOP_NAME_WSH)
            lLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
            If .Range("A2").Row > lLastRow Then
                MsgBox "Продаж в приходе не обнаружено." & Chr(10) & _
                    "Макрос прерывает свою работу.", vbCritical
                Exit Sub
            End If
            Set rngShop = .Range("A2:D" & lLastRow)
        End With ' .Sheets(sSHOP_NAME_WSH)
        Set dictShop = CreateObject("scripting.dictionary")
        arrShop = rngShop.Value
' - собрали словарь с массива прихода (ключ: ш/к; значение: кол-во продаж)
        For i = 1 To UBound(arrShop, 1)
            If dictShop.exists(arrShop(i, 1)) Then
                dictShop(arrShop(i, 1)) = dictShop(arrShop(i, 1)) + arrShop(i, 4)
            Else
                dictShop(arrShop(i, 1)) = arrShop(i, 4)
            End If
            arrShop(i, 4) = Empty
        Next i
          
' - считать продажи склада в массив (ш/к, кол-во)
        With .Sheets(sSTORAGE_NAME_WSH)
            lLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
            If .Range("A5").Row > lLastRow Then
                MsgBox "Остатков на складе не обнаружено." & Chr(10) & _
                    "Макрос прерывает свою работу.", vbCritical
                Exit Sub
            End If
            Set rngStorage = .Range("A5:C" & lLastRow)
        End With ' .Sheets(sSTORAGE_NAME_WSH)
        Set dictStorage = CreateObject("scripting.dictionary")
        arrStorage = rngStorage.Value
' - собрали словарь со склада (ключ: ш/к; значение: любое)
        For i = 1 To UBound(arrStorage, 1)
' - если есть дубли по ш/к на складе - прервать макрос
            If dictStorage.exists(arrStorage(i, 1)) Then
                MsgBox "На складе обнаружено дублирование по ш/к """ & arrStorage(i, 1) & """." & Chr(10) & _
                    "Макрос прерывает свою работу.", vbCritical
                Exit Sub
            Else
                dictStorage(arrStorage(i, 1)) = arrStorage(i, 3)
            End If
            If dictShop.exists(arrStorage(i, 1)) Then
' - от остатка отняли продажи (или прибавили - на +)
                arrStorage(i, 3) = arrStorage(i, 3) + dictShop(arrStorage(i, 1))
' - отнятые продажи удалили из словаря маг.
                dictShop.Remove (arrStorage(i, 1))
            End If
        Next i
    End With ' wb
' - массив маг. на соотв. лист
    rngShop.Value = arrShop
' - массив склада на соотв. лист
    rngStorage.Value = arrStorage
' - если после цикла в словаре маг. что-то осталось, то сообщить об этом
    If dictShop.Count > 0 Then
        MsgBox "приходом были проданы товары, которых нет на складе!", vbCritical
    Else
        MsgBox "Work complete!", vbInformation
    End If
' - тут вызываем макрос из модуля 4
    Call clear
     
End Sub
помогите немного разобраться плиз
суть в том что при отработке макроса in_actualize_stocs() на листе магазин в столбцах B,C и на листе продано в столбце А очищаются формулы, остаются только значения, и ещё почему то видимо из за макроса который в листе магазин отключается нам лок.....
мне тут подсказали что Подмена формул значениями происходит в этих строках:
Код
' - массив маг. на соотв. лист
    rngShop.Value = arrShop
' - массив склада на соотв. лист
    rngStorage.Value = arrStorage

я пытался разобраться...но пока не получается, как сделать так чтобы хотя бы  на листе "продано" не очищались формулы в столбце А
пример в аттаче.
заранее огромное спасибо!!!
Изменено: dru_seb - 16.08.2016 12:41:03
как вставить вызов макроса в тело готового макроса
 
Спасибо огромное!!! значит для Call не нужно ничего больше, спасибо всё получилось.
как вставить вызов макроса в тело готового макроса
 
а после Application.Run "название макроса"  что должно быть? End If ?
как вставить вызов макроса в тело готового макроса
 
Добрый День!
подскажите пожалуйста, есть макрос, он ниже, нужно перед процедурой которая удаляет значения
вот перед этой
Код
    rngShop.Value = arrShop
    rngStorage.Value = arrStorage

вставить вызов другого макроса, не могу понять как....в конце этого макроса я вставил вызов другого  " Call clear" но там всё просто, там конец, а вот как в нужном месте вставлять .... что перед "Call макрос" и что после должно быть?
Код
Sub in_actualize_stocs()
    Dim arrTmp, i As Long, wb As Workbook, wsh As Worksheet, lLastRow As Long, _
        rngShop As Range, arrShop, dictShop As Object, _
        rngStorage As Range, arrStorage, dictStorage As Object

    Const sSTORAGE_NAME_WSh As String = "продано"
    Const sSHOP_NAME_WSh As String = "магазин"
     
    Set wb = ActiveWorkbook

    arrTmp = Array(sSTORAGE_NAME_WSh, sSHOP_NAME_WSh)
    With wb
        On Error Resume Next
        For i = LBound(arrTmp, 1) To UBound(arrTmp, 1)
            Set wsh = .Sheets(arrTmp(i))
            If wsh Is Nothing Then
                MsgBox "111""" & arrTmp(i) & """" & Chr(10) & _
                    "111 """ & .Name & """." & Chr(10) & _
                    "111.", vbCritical
                Exit Sub
            End If
        Next i
        On Error GoTo 0
 
        With .Sheets(sSHOP_NAME_WSh)
            lLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
            If .Range("A2").Row > lLastRow Then
                MsgBox "111." & Chr(10) & _
                    "111.", vbCritical
                Exit Sub
            End If
            Set rngShop = .Range("A2:D" & lLastRow)
        End With ' .Sheets(sSHOP_NAME_WSh)
        Set dictShop = CreateObject("scripting.dictionary")
        arrShop = rngShop.Value

        For i = 1 To UBound(arrShop, 1)
            If dictShop.exists(arrShop(i, 1)) Then
                dictShop(arrShop(i, 1)) = dictShop(arrShop(i, 1)) + arrShop(i, 4)
            Else
                dictShop(arrShop(i, 1)) = arrShop(i, 4)
            End If
            arrShop(i, 4) = Empty
        Next i     

        With .Sheets(sSTORAGE_NAME_WSh)
            lLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
            If .Range("A5").Row > lLastRow Then
                MsgBox "111." & Chr(10) & _
                    "111.", vbCritical
                Exit Sub
            End If
            Set rngStorage = .Range("A5:C" & lLastRow)
        End With ' .Sheets(sSTORAGE_NAME_WSh)
        Set dictStorage = CreateObject("scripting.dictionary")
        arrStorage = rngStorage.Value

        For i = 1 To UBound(arrStorage, 1)

            If dictStorage.exists(arrStorage(i, 1)) Then
                MsgBox "111""" & arrStorage(i, 1) & """." & Chr(10) & _
                    "111.", vbCritical
                Exit Sub
            Else
                dictStorage(arrStorage(i, 1)) = arrStorage(i, 3)
            End If
            If dictShop.exists(arrStorage(i, 1)) Then

                arrStorage(i, 3) = arrStorage(i, 3) + dictShop(arrStorage(i, 1))

                dictShop.Remove (arrStorage(i, 1))
            End If
        Next i
    End With ' wb

    rngShop.Value = arrShop
    rngStorage.Value = arrStorage

    If dictShop.Count > 0 Then
        MsgBox "111", vbCritical
    Else
        MsgBox "Work complete!", vbInformation
    End If

    Call clear    
End Sub

прошу прощения что комменты не перекодировались....не знаю почему.
Изменено: dru_seb - 12.08.2016 15:45:52
Как указать макросу, чтобы данные удалялись только из заданного столбца
 
Добрый День, ещё вопросик,
вопросик не по теме удален [МОДЕРАТОР]
Как указать макросу, чтобы данные удалялись только из заданного столбца
 
Огромное спасибо Юрий М, за подсказку, а я всё не мог понять почему вместо кода смайлы вставляются, спс ещё раз, разобрался!!!
Как указать макросу, чтобы данные удалялись только из заданного столбца
 
Уважаемый Юрий М, "ищите такую кнопку<...>" ....я к сожалению не понял....я с удовольствием исправлю всё но если можно , то для тупого можете разжевать плиз...
ага кнопку нашёл сейчас поправлю попробую по крайней мере :)
Изменено: dru_seb - 11.08.2016 23:07:09
Как указать макросу, чтобы данные удалялись только из заданного столбца
 
да действительно получается call вызывает не тлько процедуру или функцию но и макрос из модуля, действительно работает, в очередной раз огромное спасибо
JayBhagavan
и всем кто помогал!!!!
спс.
Изменено: dru_seb - 11.08.2016 23:11:24
Как указать макросу, чтобы данные удалялись только из заданного столбца
 
да понял, тупарь я, почитал про call, Call - это вызов процедуры или функции, а у меня вызов макроса, это одно и тоже?
Как указать макросу, чтобы данные удалялись только из заданного столбца
 
если после последнего End If вставляю
Код
End If
    Call clear
    Sub clear()
Range("A5:A500,D5:D500,M4").Select
Range("A5").Activate
Selection.ClearContents
End Sub

то ругается на     Call clear
Как указать макросу, чтобы данные удалялись только из заданного столбца
 
спасибо, буду пытаться понять :)
а такой вопросик ещё, как в конце работы этого макроса вызвать другой макрос, что нужно написать ...как вставить, в каком месте? перед End Sub ? но как начать?
вот такой макрос
Код
Sub clear()
    Range("A5:A500,D5:D500,M4").Select
    Range("A5").Activate
    Selection.ClearContents

как понять после чего вставить...
Страницы: 1 2 3 След.
Наверх