Sub SaveWithWEDate()
Dim fileName As String
Dim WEdate As String
WEdate = G18
fileName = "WE " & WEdate & " WEEKLY SUMMARY"
ThisWorkbook.SaveAs fileName:=fileName, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub
Я не могу вставить текст из ячейки G18 в имя файла. Он сохраняется как «Еженедельный обзор WE».
Я также попробовал использовать номер ячейки в текстовой строке.
Я использую это, чтобы сохранить шаблон в книге Excel с поддержкой макросов.
Я использовал это раньше с фактической датой, но мой лист рассчитывает дату окончания недели как воскресенье.
Я скопировал дату воскресенья во вспомогательную ячейку G18 в формате ячейки ГГГГММДД.
@SpectralInstance Проблема с использованием .Text
заключается в том, что если ваш столбец слишком узкий и отображается ######
, то возвращается именно это. Лучше использовать .Value
, .Value2
или просто оставить .Range("G18")
. В чем разница между .text, .value и .value2?
Базовое значение вашего вспомогательного столбца по-прежнему представляет собой числовую дату, отформатированную для отображения «ГГГГММДД». Чтение значения TEXT
ячейки может вернуть ######
.
Считайте значение в процедуру как дату и отформатируйте его в коде, чтобы его можно было использовать в имени файла.
Sub SaveWithWEDate()
Dim fileName As String
Dim WEdate As Date
WEdate = ThisWorkbook.Worksheets("Sheet1").Range("G18").Value2
fileName = "WE " & Format(WEdate, "YYYYMMDD") & " WEEKLY SUMMARY"
ThisWorkbook.SaveAs fileName:=fileName, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub
Работает отлично. Я узнал.
WEdate = ActiveSheet.Range("G18").Text