0

我有一个需要打开的工作簿,然后从第一个选项卡复制数据,然后将其粘贴到创建脚本的原始工作簿中。

我遇到的问题是工作簿和第一个选项卡将被命名为相同的东西。因此,如果工作簿名称是OpenPOs-100255-08292012.xls选项卡,则OpenPOs-100255-08292012. 下周虽然 excel 表将是OpenPOs-200211-12495312.xls,这意味着选项卡将是OpenPOs-200211-12495312

使用我现在使用的代码,有没有办法让它适用于这种情况?我想过让它"Sheet 1"成为当天的标签吗?我考虑过使用 `wsPOR.Sheets(wsPOR) 但我有一种感觉会作为错误回来。有人可以帮忙吗?

Sub Update_TNOOR()
    Dim wsTNO As Worksheet
    Dim wsTND As Worksheet
    Dim wsTNA As Worksheet
    Dim wbPOR As Workbook               'New Workbook
    Dim wbOOR As Workbook               'ThisWorkbook
    Dim lastrow As Long, lastrow2 As Long, fstcell As Long
    Dim strFile As String, NewFileType As String, filename As String

    Set wsTNO = Sheets("Tel-Nexx OOR")
    Set wsTND = Sheets("Tel-Nexx Data")
    Set wsTNA = Sheets("Tel-Nexx Archive")
    Set wbOOR = ThisWorkbook

    With Application
        .ScreenUpdating = False
        .DisplayAlerts = False
        .EnableEvents = False
    End With

    lastrow = wsTND.Range("A" & Rows.Count).End(xlUp).Row + 1
    wsTND.Range("A2:P" & lastrow).Delete

    strFile = Application.GetOpenFilename()
    NewFileType = "Excel Files 2007 (*.xls)"
    Set wbPOR = Application.Workbooks.Open(strFile)
    lastrow = wbPOR.Sheets("Sheet1").Range("A" & wbPOR.Sheets("Sheet1").Rows.Count).End(xlUp).Row
    wbPOR.Sheets("Sheet1").Range("A4:N" & lastrow).Copy wbOOR.Sheets("Tel-Nexx Data").Range("A2")
    wbPOR.Save
    wbPOR.Close


End Sub
4

2 回答 2

1

根据我上面的评论,您的代码 fromstrFile = Application.GetOpenFilename()变为wbPOR.Close

strFile = Application.GetOpenFilename()
NewFileType = "Excel Files 2007 (*.xls)"

Set wbPOR = Application.Workbooks.Open(strFile)

Dim wsPOR As Worksheet
Set wsPOR = wbPOR.Sheets(Replace(wbPOR.Name, ".xls", ""))

lastrow = wsPOR.Range("A" & wsPOR.Rows.Count).End(xlUp).Row

wsPOR.Range("A4:N" & lastrow).Copy wbOOR.Sheets("Tel-Nexx Data").Range("A2")

wbPOR.Save
wbPOR.Close
于 2012-09-13T18:18:21.150 回答
-1

使用这个问题的答案,并将其替换为您的sheets()参考

以我的回答为例,你wbPOR.Sheets("Sheet1").会变成

wbPOR.Sheets(left(strFile ,instrrev(strFile ,".")-1)).

如果您扩展到更新的 excel 版本,这也将具有与其他扩展一起使用的优势。

于 2012-09-13T17:57:12.173 回答