Excel 使用变量文件名导入

Excel 使用变量文件名导入,excel,Excel,每天我都会将一些文件导入主电子表格。该文件生成了一个随机8位数字的时间戳,因此我无法预测文件名。我以前有过????????代替正在运行的代码。在做了一些IT更改之后,它现在不工作了,我们只是更改了驱动器,我更新了位置。如果我添加序列而不是???,一切都很好 我怎样才能使它,使我可以模仿我以前的效果在哪里??????工作-大多数文件名是唯一的,可以估计(带有日期等),但它只是最后8位数字 Dim Wb1 As Workbook Dim Wb2 As Workbook Dim filepat

每天我都会将一些文件导入主电子表格。该文件生成了一个随机8位数字的时间戳,因此我无法预测文件名。我以前有过????????代替正在运行的代码。在做了一些IT更改之后,它现在不工作了,我们只是更改了驱动器,我更新了位置。如果我添加序列而不是???,一切都很好

我怎样才能使它,使我可以模仿我以前的效果在哪里??????工作-大多数文件名是唯一的,可以估计(带有日期等),但它只是最后8位数字

Dim Wb1 As Workbook
  Dim Wb2 As Workbook
  Dim filepath As String

  filepath = Sheets("control").Cells(1, 5).Value

  Application.ScreenUpdating = False
  Set Wb1 = Workbooks.Open("C:\Users\damian_MCP\Mobius Capital Partners\Mobius _
          Capital Partners Team Site - Documents\Operations\FTP\" & filepath & _
           "\5446890_FMCM_" & filepath & "_(76765435).xls")
  'current acc FMCM
。。。此部件的解决方案

Set Wb1 = Workbooks.Open("C:\Users\damian_MCP\Mobius Capital Partners\Mobius_
         Capital Partners Team Site - Documents\Operations\FTP\" & filepath & _
         "\5446890_FMCM_" & filepath & "_(76765435).xls")
如何编辑此内容以仅搜索FMCM

Sub ubstransi()

Application.DisplayAlerts = False
Sheets("ubs trans").Select

' This section could have an unexpected result because it is not clear which cells are you clearing

Cells.Select
Selection.ClearContents
Dim Wb1 As Workbook
Dim Wb2 As Workbook
Dim filepath As String

filepath = Sheets("control").Cells(1, 5).Value

Set Wb1 = Workbooks.Open("C:\Users\damian_MCP\Mobius Capital Partners\Mobius Capital Partners Team Site - Documents\Operations\FTP\" & filepath & "\5446890_FMCM_" & filepath & "_(76882269).xls")
'FMCM *** NOTE that there is no wildcard in your code...



Wb1.Sheets("Cash Movement").Range("A1:x100").Copy
Windows("MEMF RECS2.xlsm").Activate
Sheets("ubs trans").Range("a1").PasteSpecial Paste:=xlPasteAll

Sheets("UBS trans").Select
    Range("AD2").Select
    ActiveCell.FormulaR1C1 = _
         "=IF(AND((IF(OR(RC[-22]=""FOREX TRADE SPOT"",RC[-22]=""Transfer"",LEFT(RC[-22],5)=""UBSFX"",LEFT(RC[-22],6)=""UBS FX""),""FX"",0)=""FX""),RC[-21]=control!R2C3),""FX"",0)"
   Range("AD2").Select
    Selection.Copy
    Range("AD100").Select
    Range(Selection, Selection.End(xlUp)).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False

Wb1.Close SaveChanges:=False


Set Wb2 = Workbooks.Open("C:\Users\damian_MCP\Mobius Capital Partners\Mobius Capital Partners Team Site - Documents\Operations\FTP\" & filepath & "\5446890_FMSH_" & filepath & "_(76885899).xls")
'FMSH *** NOTE that there is no wildcard in your code...
Wb2.Sheets("Securities Holdings").Range("A1:X100").Copy

Windows("MEMF RECS2.xlsm").Activate
Sheets("UBS AM POS").Range("a1").PasteSpecial Paste:=xlPasteAll

Wb2.Close SaveChanges:=False



Windows("MEMF RECS2.xlsm").Activate

Sheets("BBGCASH").Select
    Range("A1").Select

    Dim datename As String
    Dim datename2 As String
    datename = Sheets("control").Cells(1, 5).Value
    datename2 = Sheets("control").Cells(2, 5).Value

    ' This instruction can not be handle as it is not setting to any var.

    Workbooks.Open Filename:= _
        "C:\Users\damian_MCP\Mobius Capital Partners\Mobius Capital Partners Team Site - Documents\Operations\FTP\" & datename & "\f3576cshdump2.ext." & datename2 & ".1.txt"

    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
        :=Array(1, 1), TrailingMinusNumbers:=True
    Cells.Select
    Selection.Copy
    Windows("MEMF RECS2.xlsm").Activate
    Sheets("BBGCASH").Select
    Range("A1").Select
    ActiveSheet.Paste


Sheets("control").Select


End Sub
试试这个:

Sub Open_Workboook()

Dim WB As Workbook
Dim MyPath As String, MyFile As String
Dim filepath as String

filepath = Sheets("control").Cells(1, 5).Value

MyPath = "C:\Users\damian_MCP\Mobius Capital Partners\Mobius _
    Capital Partners Team Site - Documents\Operations\FTP\"
MyFile = Dir(MyPath & "*_FMCM_" & filepath & "_(76765435).xls")

Do While MyFile <> ""
    Application.ScreenUpdating = False
    Set WB = Workbooks.Open(MyPath & MyFile)
    MyName = WB.Name
    If MsgBox("Is this the file you want to open?" & vbTab & MyName, vbYesNo) = vbYes Then
        GoTo continue
    Else
        WB.Close
    End If
        MyFile = Dir()
Loop
Exit Sub

continue:
WB.Close
MsgBox "File Find... and close " & MyName

End Sub
Sub-Open_-Workboook()
将WB设置为工作簿
将MyPath设置为字符串,将MyFile设置为字符串
将文件路径设置为字符串
文件路径=工作表(“控制”)。单元格(1,5)。值
MyPath=“C:\Users\damian\u MCP\Mobius Capital Partners\Mobius_
Capital Partners团队网站-文档\运营\ FTP\”
MyFile=Dir(MyPath&“*”FMCM&“文件路径&”(76765435.xls))
当我的文件“”时执行此操作

Application.ScreenUpdating=False 设置WB=Workbooks.Open(MyPath&MyFile) MyName=WB.Name 如果MsgBox(“这是您要打开的文件吗?”&vbTab&MyName,vbYesNo)=vbYes,则 继续 其他的 WB.关闭 如果结束 MyFile=Dir() 环 出口接头 继续: WB.关闭 MsgBox“文件查找…并关闭”&MyName 端接头
它会起作用的,以后只要适应就行了


希望它有帮助

Set Wb1=Workbooks.Open(“C:\Users\damian\u MCP\Mobius Capital Partners\Mobius Capital Partners团队站点-Documents\Operations\FTP\”&filepath&“\5446890\u FMCM\”&filepath&“\u(????????).xls”)
应该可以工作了……感谢这项工作,然后我们转移到了一个新的驱动器,现在它无法识别。它只在我输入数字时起作用,而不是输入数字???????。所以我知道它不是代码中的链接地址。您是否尝试过
“\5446890_FMCM_389;”&filepath&“389;(*.xls”
?”。通配符不依赖于驱动器。因此,对于???????错误消息显示它正在使用?查找文件。因此它没有将其用作任何数字应用程序。屏幕更新=False Set Wb1=工作簿。打开(“C:\Users\damian\u MCP\Mobius Capital Partners\Mobius Capital Partners团队站点-Documents\Operations\FTP\”&filepath&“\5446890\u FMCM\”&filepath&“.xls”),并尝试使用closed()-这里的基本知识感谢这不起作用,我没有错误框,我认为最好的方法是只查找字符串的第一个x数字/字母,可能吗?打开工作簿后,我还有其他事情要做,主要是复制和粘贴到我的文件中。好的,一步一步。而不是
MyFile=Dir(MyPath&“*\FMCM_“&filepath&“765435.xls”)
试试
MyFile=Dir(MyPath&“*.xls”)
。请告诉我结果。我刚刚用MyFile=Dir(MyPath&“*FMCM”&filepath&“765435.xls”)试过了并收到一条错误消息-我忘记添加文件路径,基本上每个文件夹都是YYYYMMDD格式的日期。我收到一条错误消息,说找不到文件,即使我更新了数字以匹配文件。我编辑了注释,请重试。使用此过程查看错误。我已经检查了您的代码并清理了一点…Che确认我的意见。不管怎样,我给它的程序是通用的。如果你让它工作,我们将适应你的情况。