将Rng设为空

时间:2019-03-12 16:21:01

标签: excel vba named-ranges

如果可以的话,我想在下面提供一些帮助。

我正在2个工作簿之间工作,我希望从第一个工作簿中查找Cell(“ 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

按照Erjon的要求,为了帮助您更多地了解我要执行的操作,我附上了2张图片,并做了一些解释。我希望我有所帮助,但不要让它变得更加混乱。

所以我有要查看更改的主文件

Main File

然后,我有了一个文件,如果不想更频繁地访问,我每周都要从中获取更新的值。请注意,此文件每次都有不同的名称,例如“ Wk09Update.xlsx”,“ Wk10Update.xlsx”,“ Wk11Update.xlsx”,.......

尽管在我从新文件开始复制H,I和J列的值并将其粘贴到新文件之日起进入新文件以将新值复制并粘贴到主文件之前, C,D和E列中的现有值。然后,我想转到新文件并将更新后的值从那里复制/粘贴到主文件上的H,I和J列中,这样我就可以看到每周更新。

New File(Wk11Update.xlsx)

How it should be after Wk12Update

What I'm trying to do

Object Variable or With block Variable not set

0 个答案:

没有答案