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

Страницы: 1
Извлечь номер договора из середины текста
 
Добрый день, в ячейке A1 текст:
№ 21/10000425418 от 20.03.2020, приложение к договору
мне из него формулой нужно вытащить только: 10000425418
подскажите, как это сделать?
Изменено: Paha_Fil - 15.04.2020 10:18:35
Копирование дат, в формате даты
 
Здравствуйте!
Есть файлы которые приходят в определенном формате (пример прикрепляю, лист "новый")
Я бы хотел, чтобы значение даты бралось из ячейки C3 и копировалось в диапазон C8:C11 обязательно в формате даты, в итоге я бы хотел получить результат как на листе "Итог"

моя версия копирует текст, но преобразовать в формат даты не получается, ну и меняет С3, что нежелательно.
Код
Range("C3").Replace What:="Дата экзамена: ", Replacement:=""
Range("C3").NumberFormat = "m/d/yyyy"
Range("C8:C11") = Range("C3").Value
Макрос вычитания из заполненных ячеек
 
Добрый день, есть массив(на скрине), некоторые колонки заполнены, другие - пустые.
Нужен макрос, который сможет отнять от значений фиксированное число, например 1000

Главное, чтобы он в пустых ячейках не произвел вычисления и не сохранил "-1000"
Записать макросом в модуль листа
 
Здравствуйте, есть код модуля листа:
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("Y5")) Is Nothing Then
Call б_ОбновитьФильтры
End If
End Sub

я бы хотел чтобы он автоматически записываться в модуль активного листа.

Попробовал сохранить его как КодЛиста.cls и загружать макросом в книгу:
Код
ActiveWorkbook.VBProject.VBComponents.Import "C:\Users\" & CreateObject("WScript.Network").UserName & "\Google Диск\!Distrib\КодЛиста.cls"
так не получается, создается Class Modules

Подскажите, как правильно?
Сохранение в формате pdf без расширения xlx
 
Добрый день, пользуюсь макросом сохранения листа в pdf
Код
Sub SavePDF()
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\" & CreateObject("WScript.Network").UserName & "\Desktop\" & ActiveWorkbook.Name & ".pdf"
End Sub
проблема в том, что файлы на рабочий стол сохраняются с расширением файла excel, получается:
НазваниеКниги1.xls.pdf
НазваниеКниги2.xlsx.pdf


Как поправить код, чтобы избваиться от расширений Excel в имени файла? Чтобы было:
НазваниеКниги1.pdf
НазваниеКниги2.pdf
Максрос: фильтр меньше значения в ячейке
 
Здравствуйте, не знаю как правильно пишется код фильтра
Код
  ActiveSheet.Range("W7").AutoFilter Field:=23, Criteria1:="< & Range("W7").Value", _

Проблема Criteria1:="< & Range("W7").Value"

Логика: отфильтровать значения больше, чем число в ячейке W7

Копирование диапазона формул на следующую строку
 
Добрый день, необходимо чтобы макрос копировал последнюю строку на следующую
Код
Dim n%
    n = Cells(Rows.Count, "A").End(xlUp).Row
    Range("A & n:H" & n).AutoFill Destination:=Range("A1185:H" & n + 1), Type:=xlFillDefault
End Sub

Понимаю что проблема в синтаксисе: Range("A & n:H" & n) -неверно,
Range("A1185:H" & n) -понимает, но обновляет весь диапазон с A1185, а я бы хотел, чтобы последнюю строку только

и скажите как сделать так чтобы это все происходило на листе "Сайт"
Макрос получить имя книги без символов слева и справа
 
Подскажите есть файл "  (10).xls"
мне необходимо записать в переменную r значение 10
это должно работать и с именем "  (120).xls" (чтобы r = 120) и  "  (1450).xls" (r = 1450) (т.е. трехзначный и четырехзначный)
Помогите прочитать код
 
Код
     Dim ws As Worksheet, x As Range, i As Long, j As Long, a(), b(), c()
    Application.ScreenUpdating = False: Set ws = Sheets("Статистика")
    If ActiveSheet.Name = ws.Name Then
        MsgBox "Активируйте лист с данными!": Exit Sub
    End If
    a = ws.Range(ws.[B2], ws.Cells(4, ws.Cells(4, ws.Columns.Count).End(xlToLeft).Column)).Value
    b = Range("C8:K" & Cells(Rows.Count, 3).End(xlUp).Row).Value
    ReDim c(1 To 1, 1 To UBound(a, 2))
    For i = 1 To UBound(a, 2) Step 3: a(3, i) = a(1, i) & "|" & a(2, i): Next
    For i = 1 To UBound(b, 1): b(i, UBound(b, 2)) = b(i, 1) & "|" & b(i, 2): Next
    For i = 1 To UBound(a, 2) Step 3
        For j = 1 To UBound(b, 1)
            If a(3, i) = b(j, UBound(b, 2)) Then
                c(1, i) = b(j, 8): c(1, i + 1) = b(j, 7): c(1, i + 2) = b(j, 3): Exit For
    End If: Next: Next
    Set x = ws.[A:A].Find(CDate([B4]))
    If x Is Nothing Then
        i = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1: ws.Cells(i, 1) = CDate([B4])
    Else: i = x.Row
    End If
    ws.Cells(i, 2).Resize(, UBound(c, 2)).Value = c: ws.Rows(i).Replace "-", "", xlWhole
Здравствуйте, господа!
Помогите построчно прочитать код, необходимо изменить адреса ячеек из которых берутся значения, но не могу разобраться
Макрос замена значения ячейки на пустоту
 
Добрый день, есть ячейки с формулами, некоторые из них имеют значение после вычисления #Н/Д
как можно с помощью макроса отчистить эти ячейки от всех данных?
Код
Cells.Replace What:="#N/A", Replacement:="", LookAt:=xlWhole, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False
не помогает, прошу помощи
Макрос шаблона Word
 
Добрый день, не пинайте, что вопрос по word, думаю не составит вам труда

есть макрос, который задает имя файла шаблону:
Код
Option Explicit

Private Const APPNAME = "Предложения"
Private Const SECTIONNAME = "Порядковые номера"
Private Const DOCNAME = "" 'Постоянная часть имени файла
Private Const DOCNUM = "Номер документа" 'Порядковый номер

Dim DefaultDocName As String 'Полное имя документа

'Макрос при создании нового документа на основе данного шаблона
Sub AutoNew()
    Dim nDocNum As Integer
    
    nDocNum = Val(GetSetting(APPNAME, SECTIONNAME, Key:=DOCNUM))
    DefaultDocName = DOCNAME & Format(Date, "yyyy/mm/dd")
    SaveSetting APPNAME, SECTIONNAME, Key:=DOCNUM, Setting:=nDocNum + 1
End Sub

'Переопределение процедуры "Сохранить"
Sub FileSave()
    If ActiveDocument.FullName = ActiveDocument.Name Then
        With Dialogs(wdDialogFileSaveAs)
            .Name = DefaultDocName
            .Show
        End With
    Else
        ActiveDocument.Save
    End If
End Sub

'Переопределение процедуры "Сохранить как..."
Sub FileSaveAs()
    With Dialogs(wdDialogFileSaveAs)
        .Name = DefaultDocName
        .Show
    End With
End Sub
макрос работает нормально, но он каждый раз предлагает новое место сохранения, для создаваемого файла, а я бы хотел, чтобы он сохранялся в текущей папке шаблона... можно ли так сделать?

и второй вопрос:
можно ли создать поле в документе word, которое бы автоматически добавлялось в название файла, типа название компании адресата

спасибо
Изменено: Paha_Fil - 14.04.2016 05:22:09
Макрос для поиска строки по двум условиям, поиски копирование значений на другой лист
 
Здравствуйте, помогите написать макрос, который бы искал строку по двум условиям:
1 В столбце А искал ячейку со значением "3"
2 В столбце I ячейку со значением "в"

А затем из полученной строки копировал значение(без форматов) столбца B, C, J на другой лист ("статистика") в следующую пустую строку.

Предварительно написал на что ума хватило, но проблема в том, что в моем макросе позиции статичны, B3 C3 J3, а мне необходимо, что бы при изменении положения строки он возвращал верные данные
Код
Sub Статистика_разработка()
    
    Dim lngLastRow As Long
    lngLastRow = Sheets("Статистика").UsedRange.Rows.Count
    Sheets("Статистика").Cells(lngLastRow + 1, 1).Value = Range("B3").Value
    Sheets("Статистика").Cells(lngLastRow + 1, 2).Value = Range("C3").Value
    Sheets("Статистика").Cells(lngLastRow + 1, 3).Value = Range("J3").Value

End Sub

Прощу прощения, если непонятно описал, пример прикрепил ниже.
Благодарю за помощь!
Макрос параметров страницы не вставляет фоновое изображение
 
Здравствуйте, помогите понять, почему этот макрос, созданный записью не вставляет фоновое изображение, шаблон.jpg ???
Код
ActiveSheet.PageSetup.CenterHeaderPicture.Filename = _
        "\\путь\шаблон.jpg"
    With ActiveSheet.PageSetup.CenterHeaderPicture
    .Brightness = 0.6
    .Contrast = 0.4
    End With
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .PrintTitleRows = ""
        .PrintTitleColumns = ""
    End With
    Application.PrintCommunication = True
    ActiveSheet.PageSetup.PrintArea = "$Q:$AB"
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = "&G"
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(0)
        .RightMargin = Application.InchesToPoints(0)
        .TopMargin = Application.InchesToPoints(0)
        .BottomMargin = Application.InchesToPoints(0)
        .HeaderMargin = Application.InchesToPoints(0.118110236220472)
        .FooterMargin = Application.InchesToPoints(0.118110236220472)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintSheetEnd
        .CenterHorizontally = False
        .CenterVertically = False
        .Orientation = xlPortrait
        .Draft = False
        .PaperSize = xlPaperLetter
        .FirstPageNumber = xlAutomatic
        .Order = xlOverThenDown
        .BlackAndWhite = False
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 1
        .PrintErrors = xlPrintErrorsDisplayed
        .OddAndEvenPagesHeaderFooter = False
        .DifferentFirstPageHeaderFooter = False
        .ScaleWithDocHeaderFooter = True
        .AlignMarginsHeaderFooter = False
        .EvenPage.LeftHeader.Text = ""
        .EvenPage.CenterHeader.Text = ""
        .EvenPage.RightHeader.Text = ""
        .EvenPage.LeftFooter.Text = ""
        .EvenPage.CenterFooter.Text = ""
        .EvenPage.RightFooter.Text = ""
        .FirstPage.LeftHeader.Text = ""
        .FirstPage.CenterHeader.Text = ""
        .FirstPage.RightHeader.Text = ""
        .FirstPage.LeftFooter.Text = ""
        .FirstPage.CenterFooter.Text = ""
        .FirstPage.RightFooter.Text = ""
    End With
    Application.PrintCommunication = True
End Sub

И как можно это исправить???
вообще нужно, что бы в верхний центральный колонтитул вставилось изображение фона с параметрами Brightness = 0.6 Contrast = 0.4
Изменено: Paha_Fil - 01.06.2015 02:53:07
Макрос изменить формат с текстового на дату
 
Добрый день, необходимо, что бы макрос удалил ненужные слова из ячейки и применил необходимый формат.
макрос у меня такой получился:
Код
Sub Name()
    
    Range("B4").Replace what:="Текущая дата: ", Replacement:=""
    Range("B4").NumberFormat = "yyyy/mm/dd"
        
End Sub
но есть проблема, слова удаляются, а вот формат не меняется до того как я не зайду в ячейку, как это исправить?
Изменено: Paha_Fil - 13.04.2015 03:05:15
Макрос Поиск в таблице по двум критериям и вставка значения на другой лист
 
Помогите написать макрос
Код
Sub 333()

    Dim TextForFind, iRng As Range
        With ActiveSheet.Columns(3).Find 'поиск значения в третьем столбце
            TextForFind = Sheets("Лист1").Range("B2").Value 'Текст для поиска
                Set iRng = Columns(3).Find(what:=TextForFind, LookIn:=xlFormulas, lookat:=xlPart)'поиск значения в третьем столбце(нужно ли повторять??) поиск в формулах, искать не точное совпадение, а в содержимом ячеек
                If Not iRng Is Nothing Then  'правильна ли формулировка?
    Dim lngLastRow As Long
        lngLastRow = Sheets("лист1").UsedRange.Rows.Count
        Sheets("Лист1").Cells(lngLastRow, 2).Value = Range(iRng).Value  'здесь вообще отсебятина.... а должно быть найденное значение

End Sub
еще проблемма в том,  что должно быть 2 условия, т.е. по первому условию в 3 столбце искать значение ячейки B2 и в 4 столбце искать значение ячейки B3.
Макрос копировать значение ячейки на другой лист в пустую строку(без форматов и формул)
 
Здравствуйте помогите написать вышеупомянутый макрос, мои попытки сделать это не работают:

Код
Sub 111()       Dim m%
    m = lngLastRow = Sheets("Лист1").UsedRange.Rows.Count
    Sheets("Лист1").Range [m + 1].Value = Range("B4").Value

End Sub

или еще:
Код
Sub 222()
Dim lngLastRow As Long
 
lngLastRow = Sheets("Лист1").UsedRange.Rows.Count

Sheets("Лист1").Range(lngLastRow + 1).Value = Range("B4").Value

End Sub

думаю ошибки в формулировках:  Range(lngLastRow + 1) и .Range [m + 1], не знаю как правильно прописать... да и вообщем не уверен что макрос рабочий...) прошу помощи)
Изменено: Paha_Fil - 03.04.2015 03:01:52
Копировать с активного листа на другой лист макрос
 
Подскажите код макроса, который значение ячейки A1 активного листа копировал в ячейку B1 листа "Лист2".
Желательно, что бы макрос копировал без переходов по листам типа:
Код
Sub Сохранить() 
' 
Range("A1").Select 
Selection.Copy 
Sheets("Лист2").Select 
ActiveSheet.Paste 
End Sub 
Макрос поиска и заполнения значений
 
Помогите написать макрос, который бы искал значения в таблице и копировал их на другой лист в определенные ячейки.
Пример во вложении, задача следующая:
1) Название активного листа копировать в следующую пустую яцейку в столбце А (Листа Статистика)
2) Из таблицы на активном листе (в нашем случае 23.03) получить значение из столбца J (максимальная цена), а строка должна быть определенна по двум параметрам:
столбец D "базис поставки" равен ячейке B3 на листе Статистика, И столбец "С" "Наименование инструмента" содержать значение ячейки B2 листа Статистика.

после того как заполнится строка 5 листа статистика данными 23.03 будет необходимо данные 24.03 таким же образом копировать на строку 6 и так каждый день, каждый новый лист заполняет следующую строку.....
Изменено: Paha_Fil - 05.05.2015 14:05:35
Макрос: Фильтр с несколькими условиями
 
Помогите написать макрос, который бы фильтровал 3, 5 и более значений.
В столбце 9 фильтровал: - (Прочерк) и пустые ячейки
В столбце 4 фильтровал значения: 120, 60, 3000, - (прочерк)

при этом желательно что бы это был не текстовый фильтр, для того , что бы галочки оставались в автофильтре

И возможно ли что бы в столбце 9 он сворачивал пустые значения до 250 строки?
Изменено: Paha_Fil - 25.03.2015 03:21:09
Макрос: Фильтр: снять галочку с ненужных значений
 
Добрый день!
Как прописать макросом, снятие галочки с ненужных значений?
есть пример по столбцу номер 9, нужно убрать строки с прочерком (-)
если делать это при помощи записи макроса, то получается не то что нужно:

Код
Sub Макрос1()    ' Макрос1 Макрос    ActiveSheet.Range("$B$7:$M$160".AutoFilter Field:=9, Criteria1:=Array( _
        "10150", "10400", "10600", "10650", "10670", "12000", "13039", "17300", "18750", "28700" _
        , "29101", "30300", "31560", "31600", "31700", "31800", "31830", "32100", "32332", _
        "32501", "32600", "32800", "33000", "33220", "33282", "33300", "33322", "33355", "33600" _
        , "33800", "34000", "34005", "34080", "34100", "34200", "34260", "34300", "34303", _
        "34400", "34450", "34500", "34650", "34715", "34750", "34755", "34800", "34850", "34901" _
        , "35000", "35050", "35251", "35300", "35350", "35450", "35518", "35519", "35700", _
        "35750", "36000", "36300", "36600", "36700", "37015", "37050", "37100", "37300", "37304" _
        , "37600", "38000", "38050", "38350", "7618", "8400", "9700", "=", Operator:= _
        xlFilterValuesEnd Sub
т.е. он в макросе прописывает значения с галочкой, а я бы хотел что бы макрос написан был подобным образом:

Код
Sub Макрос1()    ' Макрос1 Макрос    ActiveSheet.Range("$B$7:$M$160".AutoFilter Field:=9, Criteria1:=Array( НЕ ВЫБИРАТЬ "-"; не выбирать "=".... ), Operator:= _
        xlFilterValuesEnd Sub

Возможно ли такое?????
Изменено: Paha_Fil - 18.03.2015 02:08:20
Макрос: определить самую нижнюю ячейку в столбце и копировать диапазон до этой ячейки
 
Уважаемые форумчане, снова обращаюсь за помощью!
Файл пример во вложении
Необходимо с помощью макроса следующее:
1) определить, что в столбце к примеру "M" последняя не пустая ячейка находится на 159 строке
2) копировать диапазон P20:AB20 до P159:AB159
Изменено: Paha_Fil - 16.03.2015 10:07:03
Существует ли макрос, который определяет имя следующего листа, идущего за активным???
 
Есть книга в которой много листов, каждый день прибавляется по еще одному.
Название листов в ней соответствует дате, к примеру:

так вот необходим макрос, который бы определил, что за листом 13.03 идет лист 12.03
а затем в формулах в колонках (R:S) нашел значение "05.09" (не спрашивайте откуда оно) и заменил на полученное значение листа "12.03"
Макрос: скопировать некоторый диапазон ячеек с заданного листа на активный лист
 
Добрый день, наверно избитая тема, но никак не могу нагуглить...
необходимо диапазон ячеек P5:AB20 копировать с листа с названием "кредит" на активный лист, листы каждый день добавляются.
благодарю!
Страницы: 1
Наверх