開いて最初のタブからデータをコピーし、スクリプトが作成された元のワークブックに貼り付ける必要があるワークブックがあります。
私が直面している問題は、ワークブックと最初のタブの名前が同じになることです。したがって、ワークブック名が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