У меня возникли проблемы с отправкой даты с одного листа на другой. При использовании приведенной ниже формулы, если дата может соответствовать как американскому, так и австралийскому формату, она решает преобразовать ее в американскую (мм/дд/гггг, когда мне это нужно как дд/мм/гггг).Проблема формата DateValue между рабочими листами
Как исходная ячейка, так и целевая ячейка одинаково отформатированы, а сам формат ячейки не изменяется через vba, он просто перебирает то, что является днем и что такое месяц.
Sub BOCMS()
Dim date1 As String
Dim date2 As String
date1 = Format(DateValue(Sheet1.Range("L13").Value), "dd/mm/yyyy")
date2 = Format(DateValue(Sheet1.Range("L14").Value), "dd/mm/yyyy")
Workbooks.Open (ThisWorkbook.Path & "\Manual date res acts\BOC - Res Activity Report.xlsm")
Workbooks("BOC - Res Activity Report.xlsm").Activate
Workbooks("BOC - Res Activity Report.xlsm").Worksheets("Res Activity Report").Range("O1").Select
Selection.ClearContents
Selection.Value = Format(date1, "dd/mm/yyyy")
Workbooks("BOC - Res Activity Report.xlsm").Worksheets("Res Activity Report").Range("Q1").Select
Selection.ClearContents
Selection.Value = Format(date2, "dd/mm/yyyy")
ActiveWorkbook.RefreshAll
Application.Run "'BOC - Res Activity Report.xlsm'!RunReport"
End Sub
Любые советы будут фантастическими
Хорошая причина не использовать строки, которые только _look_ как даты. Сделка с базовой датой Серийные номера. –
Извините, я не понимаю, что вы говорите. Я пробовал это как Date вместо String и получал тот же результат. У вас есть предложения по устранению проблемы? –