Я частично решил мою проблему ниже.В течение дня я хочу увеличить свои файлы на 1.
В настоящее время я могу просто увеличить свои файлы с тем же именем (той же строкой) на 1, если Excel обнаружит в mypath
файл с помощьюс таким же именем
Мой файл, например, будет сохранен как Red 06-22-2019 #9
, если VBA обнаружит Red 06-22-2019 #8
в каталоге
Однако я хочу, чтобы все мои файлы увеличивались на 1 (независимо отто же имя файла), обнаруживая только общую подстроку (текущую дату).
То есть вместо того, чтобы Excel обнаружил то же имя файла и увеличил mycount
на 1 (как показывает мой код ниже), я хочу, чтобы Excel обнаружил в том же каталоге, есть ли имя файла с сегодняшней датой (mydate
) существует.Если это так, это имя файла будет увеличиваться на 1. (Различные имена файлов имеют только одну и ту же текущую дату, поэтому я теоретически мог бы увеличивать много разных имен файлов в течение дня, каждого дня)
Итаккогда я сохраняю другое имя файла (Blue 06-22-2019
), которое имеет подобную подстроку (текущую дату) с именами файлов Red
, Excel будет увеличивать имя файла Blue
на 1 (потому что оно обнаружило, дляНапример, 8 файлов "Red
" в том же каталоге, в котором я хочу сохранить файл "Blue
")
Файл Blue
будет сохранен как Blue 06-22-2019 #9
(для этого примера)
Я много раз пытался работать в цикле, используя множество перестановок, но я относительный новичок во всем этом коде
И я не смог найти ничего об обнаружении подстрокв Интернете
Пожалуйста, помогите, если можете:)
Sub helpMePlease()
Dim myfile As String
Dim mypath As String
Dim mycount As Integer
Dim mydate As String
mydate = Format(Now(), "MM-DD-YYYY")
mypath = "C:\Users\Robert\Colors\
'do some code here, like opening a workbook and translating data, etc.
'now, to save the opened workbook I came up with the below code
'it says increase my file name by 1 unless file name does not exist within my path
Do
mycount = mycount + 1
myfile = mypath & "Blue " & mydate & " #" & mycount & ".xlsx"
Loop Until Dir(myfile) = ""
ActiveWorkbook.SaveAs Filename:=myfile
End Sub