Я хотел бы некоторую помощь на ниже, если вы можете.
Я работаю между двумя рабочими книгами, и я хочу, чтобы первая нашла значение ячейки ("B6"), которая является датой второй рабочей книги в столбце B. Хотя кажется, что код находит дату, когда она приходит, чтобы установить его как диапазон, он приходит как пустой. Не могли бы вы помочь мне увидеть, что я делаю неправильно.
Я новичок в VBA, и я пытаюсь сделать свою жизнь проще с помощью онлайн-поиска. Заранее спасибо.
Sub Update_Forecast_2()
Dim myFile As String
Dim YourFolderPath As Variant
Dim FindString As Date
Dim newFile As String
FindString = CLng(Date)
Dim Rng As Range
YourFolderPath = "C:\Users\konstand\Desktop\Forecast"
ChDir YourFolderPath
myFile = Application.GetOpenFilename
If myFile = "False" Then Exit Sub
Workbooks.Open Filename:=myFile
newFile = Replace(myFile, YourFolderPath + "\", "")
Range("B6").Select
Workbooks("Forecast file.xlsm").Activate
Sheets("Forecast_Sort").Activate
Range("A1").FormulaR1C1 = myFile
Workbooks(newFile).Activate
Range("B6").Activate
FindString = Workbooks(newFile).Sheets("Forecast").Range("B6").Value
'MsgBox FindString
If Trim(FindString) <> "" Then
With Workbooks("Forecast file").Sheets("Forecast_Sort").Range("B:B")
Set Rng = .Find(What:=DateValue(FindString), _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Rng Is Nothing Then
Rng.Select
End If
Workbooks("Forecast file.xlsm").Activate
End With
End If
End Sub
Следуя просьбе Эрджона, чтобы помочь вам лучше понять, что я пытаюсь сделать, я прикрепил 2 изображения и кое-что объяснил. Надеюсь, я помог и не сделал это более запутанным.
Итак, у меня есть основной файл, в котором я хочу увидеть изменения.
Затем у меня есть файл, из которого я хочу получать обновленные значения каждую неделю, если не чаще. Имейте в виду, что этот файл каждый раз будет иметь другое имя, например "Wk09Update.xlsx", "Wk10Update.xlsx", "Wk11Update.xlsx", .......
Хотя, прежде чем я перейду к новому файлу, чтобы скопировать и вставить новые значения, которые я хочу в основной файл, с даты, когда новый файл начинает копировать значения из столбцов H, I и J и вставлять их поверх существующих значений в столбцах C, D и E. Затем я хочу перейти к новому файлу и скопировать/вставить обновленные значения оттуда в столбцы H, I и J в основном файле, чтобы я мог видеть различия от недели к неделе Обновить.
Set Rng = .Find(DateValue)
работает? - person urdearboy   schedule 12.03.2019Date
, которого нет в Excel. - person Ron Rosenfeld   schedule 12.03.2019