Я бы хотел запустить часть моего Sub с другим ключевым словом каждый раз, когда он запускается. В настоящее время я пишу так, но есть ли более короткий способ сделать это?Повторите часть моего подкатегория
Делаю категорию для прямого дебета, ATM Выдача наличных денежных средств, а также дебетовые карты покупки в колонке D - Поиск D/D, C/L и POS соответственно в столбце B.
Я изменяя переменные, но каждый раз вводить и запускать один и тот же бит кода. Я чувствую, что должен быть способ сказать: «Запустите этот бит снова, но с Searchterm и Searchresult изменился!»
Я уверен, что кто-то более осведомлен, чем я мог бы помочь. Я уже использую sub, поэтому не могу вставить еще одну подпрограмму для ее запуска или функцию? И я уже зацикливаюсь, поэтому не знаю, как впишется еще один цикл?
Что вы хотите сделать? Как вы, наверное, догадались, что я совершенно новичок в этом, с небольшим знанием js в прошлом.
Sub OrganiseDefaultCategories()
'
' OrganiseDefaultCategories Macro
' Categorise the Bank Statement Entries with Default inputs. Run this first.
'
Dim FoundRange As Range, FirstAddress As String, Searchterm As Variant, Searchresult As Variant
Searchterm = "D/D"
Searchresult = "Direct Debit"
With Range("b:b")
Set FoundRange = .Find(What:=Searchterm, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
FirstAddress = FoundRange.Address
Do
FoundRange.Offset(0, 2).Value2 = Searchresult
Set FoundRange = .FindNext(FoundRange)
Loop While Not FoundRange Is Nothing And FoundRange.Address <> FirstAddress
Searchterm = "C/L"
Searchresult = "ATM Cash Withdrawal"
Set FoundRange = .Find(What:=Searchterm, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
FirstAddress = FoundRange.Address
Do
FoundRange.Offset(0, 2).Value2 = Searchresult
Set FoundRange = .FindNext(FoundRange)
Loop While Not FoundRange Is Nothing And FoundRange.Address <> FirstAddress
Searchterm = "POS"
Searchresult = "Debit Card Purchase"
Set FoundRange = .Find(What:=Searchterm, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
FirstAddress = FoundRange.Address
Do
FoundRange.Offset(0, 2).Value2 = Searchresult
Set FoundRange = .FindNext(FoundRange)
Loop While Not FoundRange Is Nothing And FoundRange.Address <> FirstAddress
End With
End Sub
Я бы поискал поиск и поискПолезные необязательные аргументы в подкатегории – C8H10N4O2