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

Страницы: 1
Расчет расстояния между регионами
 
Цитата
Demetros написал:
Если нужно могу на почту кинуть
Добрый день. Прошу выслать на почту
Так же вопрос, по Казахстану работать будет?
VBA. Рассылка с вложением., VBA. Рассылка с вложением.
 
Всем добра!
Помогите составить макрос.
Нужен макрос что бы отправлять рабочий файл через outlook, что бы этот файл был во вложении и при этом что бы была возможность ввести текст письма перед отправкой.
Удалить строки, указав в качестве критерия диапазон значений.
 
Цитата
Re_ написал:
где задается номер столбца и тупо подставить там цифру.
Спасибо! Очень выручили!
Удалить строки, указав в качестве критерия диапазон значений.
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
точно сами это делали?
Честно сам делал )))
Я самоучка, не совсем все понимаю в макросах
Удалить строки, указав в качестве критерия диапазон значений.
 
Помогите!
Немного усовершенствовал. Автоматический создается "Лист1", потом в него подтягиваются данные из указанного файла на рабочем столе (или другая ссылка), после чего происходит удаление по соответствию в активном листе строк, потом удаляется "Лист1", сохраняется и закрывается.
НО!!!! Мне нужно что бы не выходило уведомление и запрос с какого столбца брать данные, я хочу что бы данные брались всегда с первого столбца из "Лист1", как это можно исполнить?
Код
Sub Delete()
Sheets.Add.Name = "Лист1"
 Dim sh As Object
    Set sh = ActiveSheet
    With GetObject("D:\Desktop\вывод.xlsx")
        .Worksheets(1).Range("A1:A710").Copy sh.Cells(1, 1)
        .Close 0
    End With
    Sheets("Планограмма").Activate
     Dim sSubStr As String    'искомое слово или фраза
    Dim lCol As Long    'номер столбца с просматриваемыми значениями
    Dim lLastRow As Long, li As Long
    Dim avArr, lr As Long
    Dim arr
 
    lCol = Val(InputBox("Укажите номер столбца, в котором искать указанное значение", "Запрос параметра", 1))
    If lCol = 0 Then Exit Sub
    Application.ScreenUpdating = 0
    lLastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
    'заносим в массив значения листа, в котором необходимо удалить строки
    arr = Cells(1, lCol).Resize(lLastRow).Value
    'Получаем с Лист2 значения, которые надо удалить в активном листе
    With Sheets("Лист1") 'Имя листа с диапазоном значений на удаление
        avArr = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
    End With
    'удаляем
    Dim rr As Range
    For lr = 1 To UBound(avArr, 1)
        sSubStr = avArr(lr, 1)
        For li = 1 To lLastRow 'цикл с первой строки до конца
            If CStr(arr(li, 1)) = sSubStr Then
                If rr Is Nothing Then
                    Set rr = Cells(li, 1)
                Else
                    Set rr = Union(rr, Cells(li, 1))
                End If
            End If
            DoEvents
        Next li
        DoEvents
    Next lr
    If Not rr Is Nothing Then rr.EntireRow.Delete
    Application.ScreenUpdating = 1
    Application.DisplayAlerts = False
   Sheets("Лист1").Delete
   Application.DisplayAlerts = True
   ActiveWorkbook.Save
   ActiveWorkbook.Close
   End Sub
Страницы: 1
Наверх