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

Страницы: 1
Выполнить повторяющееся действие макроса в заданных листах книги
 
Добрый день, мастера экселя и макроса

Подскажите пожалуйста.
Пытаюсь допилить свой макрос, и чтобы он более "нормальным", я понимаю что мне необходимо применить функцию "ЦИКЛ".
Сам макрос прикладываю.
Суть следующая => на вкладках с "1" по "16", одна и та же табличка с расчетом оценки своего поставщика, при выполнении макроса, он создает папку, сохраняет туда файлик в формате pdf и создает письмо
Вопрос => как циклом сделать макрос, чтобы он прошелся только по вкладкам с "1" по "16", и выполнил функцию "Select Case"
Код
Sub Скругленныйпрямоугольник1_Щелчок()
Dim objOutlookApp As Object, objMail As Object
Dim sTo As String, sSubject As String, sBody As String, sAttachment As String

'Отключение отоброжения выполняемых действий
Application.ScreenUpdating = False


'Create folder => act of defective parts
MkDir "G:\"

'Save in sheet in pdf format
ThisWorkbook.Sheets(Array("1")).Select
  

Select Case Range("V7").Value

Case Is < 0.75: Call Scoreless
Case Is >= 0.75: Call Scoremore

End Select

ThisWorkbook.Sheets(Array("2")).Select
  
Select Case Range("V7").Value

Case Is < 0.75: Call Scoreless
Case Is >= 0.75: Call Scoremore

End Select

ThisWorkbook.Sheets(Array("3")).Select
  
Select Case Range("V7").Value

Case Is < 0.75: Call Scoreless
Case Is >= 0.75: Call Scoremore

End Select

ThisWorkbook.Sheets(Array("4")).Select
  
Select Case Range("V7").Value

Case Is < 0.75: Call Scoreless
Case Is >= 0.75: Call Scoremore

End Select

'Open folder
Sheets("1").Select
Shell "explorer.exe " & "G:" & "\", vbMaximizedFocus


End Sub
----------------------------------------------------------
Sub Scoremore()

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:="G:" & _
ActiveSheet.Range("D4").Value & Range("X3") & "2019.pdf", _
OpenAfterPublish:=False

Dim objOL As Object
Set objOL = CreateObject("Outlook.Application")
Set objMail = objOL.CreateItem(0)
With objMail
.To = Range("E51").Value
.CC = Range("E52").Value
.Body =
.Display
End With
Set objMail = Nothing
Set objOL = Nothing

End Sub
-----------------------------------------------------------
Sub Scoreless()

'return for normal print area
ActiveSheet.PageSetup.PrintArea = "$B$2:$AA$48"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:="G:" & _
ActiveSheet.Range("D4").Value & " - " & Range("X3") & " 2019.pdf", _
OpenAfterPublish:=False

'Save detail information about score card for supplier
ActiveSheet.PageSetup.PrintArea = "$AE$2:$AX$58"
'ActiveSheet.VPageBreaks.DragOff Direction:=xlToRight, RegionIndex:=1

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:="G:\" & _
ActiveSheet.Range("D4").Value & Range("X3") & "2019 - detail information.pdf", _
OpenAfterPublish:=False

'return for normal print area
ActiveSheet.PageSetup.PrintArea = "$B$2:$AA$48"


Dim objOL As Object
Set objOL = CreateObject("Outlook.Application")
Set objMail = objOL.CreateItem(0)
With objMail
.To = Range("E51").Value
.CC = Range("E52").Value
.Body = 
.Subject = 
.Display
End With
Set objMail = Nothing
Set objOL = Nothing

End Sub

P.S.
Я читал статьи по циклу, но примеры больше для выполнения на одном листе какой-то функции...
Извиняюсь заранее, если не правильно оформил описание макроса :)  
Изменено: alextlt - 11.11.2019 16:13:31
Условия в Select Case
 
Добрый день, помогите пожалуйста скорректировать код vba.

Весь код показывать не вижу смысла так как все что выше работает корректно, а вот с частью где идет Select, он определяет только первое условие...
К примеру:
Я выбираю значения первой ячейки = English, а второй ячейки = Warranty, и исходя из этого выбора он вставляет соответствующее сообщение
Но всегда выбирает первую часть "Russian" и "Warehouse", помогите пожалуйста скорректировать, может я два условия в одном Case не правильно задаю....

вот сам код (часть):
Код
x = Range("IZ11")
y = Range("JA11")
Select Case x And y
Case Is = (x = "Russian") And (y = "Warehouse")
Call Russian_warehouse
Case Is = (x = "Russian") And (y = "Incoming inspection")
Call Russian_incoming_inspection
Case Is = (x = "Russian") And (y = "Machining operation")
Call Russian_machining
Case Is = (x = "Russian") And (y = "Assembly process")
Call Russian_assembly_operation
Case Is = (x = "Russian") And (y = "Warranty period")
Call Russian_warranty
Case Is = (x = "English") And (y = "Warehouse")
Call English_warehouse
Case Is = (x = "English") And (y = "Incoming inspection")
Call English_incoming_inspection
Case Is = (x = "English") And (y = "Machining operation")
Call English_maching
Case Is = (x = "English") And (y = "Assembly process")
Call English_assembly
Case Is = (x = "English") And (y = "Warranty period")
Call English_warranty
End Select
Изменено: alextlt - 26.04.2018 14:31:50
Отобразить значение из таблицы в UserForm на основе введеного значения, Отобразить значение из таблицы в UserForm на основе введеного значения
 
Добрый день, Уважаемые знатоки

Помогите разобраться с формой, пытаюсь сделать в форме отображение значения на основе Введенного значения.
Допустим ввожу - 1
Должно отобразится - 12.08.2018
Файлик для примера прикладываю.

P.S.
Мне нужно понять принцип как это в VBA прописывается, ведь то что я описал это просто функция ВПР
Изменено: alextlt - 17.04.2018 10:31:04
В какой диапазон попадает значение
 
Добрый день,

По сути пытаюсь написать формулу для определения допуска на размер исходя из размера и типа размера.
для этого определить в какой диапазон (вкладка "Req" столбцы с В по D)  попадает значение (вкладка "Report" ячейка В6), и на основании этого определить какую цифру (из вкладки "Req" столбец Е)  необходимо вставить в ячейку (вкладка "Report" ячейка D6).

Формулу пробовал создать на основе ПОИСКПОЗ и ИНДЕКС, но что то он ругается, понятно дело что то не так .... (Желтая ячейка)

Сам пример прилагаю.
Страницы: 1
Loading...