2014-09-24 2 views
1

Итак, я уже экспортировал данные с помощью CSV-файла, но на данный момент это просто необработанные данные. Я пытаюсь dsiplay имя файла, из которого оно и имя листа. Вот мой код пока не экспортирует данные. Следующий макрос экспортирует данные из открытого листа excel, я просто запускаю макрос и экспортирую данные в новую книгу. Теперь я просто хочу отобразить имя файла и имя листа из источника, который я экспортировал, из нового CSV-файла, который был создан.Экспорт данных в CSV-файл и получение имени файла

Sub testexport()

' export Macro 

Range("B7:E26,B39:E138").Select 
Selection.Copy 
Workbooks.Add 
ActiveSheet.Paste 
ActiveWorkbook.SaveAs Filename:= _ 
"Y:\SQCData.csv" _ 
, FileFormat:=xlCSV, CreateBackup:=False 
Application.DisplayAlerts = False 
ActiveWorkbook.Activate 
Application.DisplayAlerts = True 

Следующая диапазон, который отображает содержит мои данные. Теперь мой вопрос: как мне отобразить имя файла и имя листа на том же листе excel после его экспорта?

+0

Как вы именование C экспортируются файлами? Они основаны на имени листа? –

+0

Вид, я хочу получить имя книги, а также имя листа в столбце сверху, а затем отобразить данные. – adit123

ответ

0

Вы можете настроить этот

Sub CopyPasteBetween2Books() 

Dim wb As Workbook 

    ThisWorkbook.Sheets(1).Range("B7:E26,B39:E138").Copy 
    wbname2 = ThisWorkbook.Name 
    wsname2 = ActiveSheet.Name 
    Workbooks.Add 
    ActiveSheet.Paste Destination:=Worksheets("Sheet1").Range("A1") 
    wbname = "Y:\SQCData.csv" 
    ActiveWorkbook.SaveAs wbname 
    Set wb = Workbooks.Open("Y:\SQCData.csv") 
    wb.Activate 
    ActiveCell.Offset(0, 8).Value = wbname2 
    ActiveCell.Offset(0, 9).Value = wsname2 


    Application.CutCopyMode = False 
End Sub 
+0

Я пробовал этот код, и он отображает только новое имя и лист книги, которые были созданы. Извините, я должен был уточнить, я хочу, чтобы название книги и имя листа из книги, которую я экспортировал. – adit123

+0

Спасибо за ответ, кстати! – adit123

+0

@ adit123 отредактировал код, чтобы получить исходную книгу/имена рабочих листов – mrbungle

0
Sub GetFileNameandSheet() 

' assign variables 
Dim strFolder As String 
Dim strFile As String 
Dim latestFile As String 
Dim dtLast As Date 

strFolder = "C:\MyFolder\"   ' sets search path - put the directory where you saved the file here - enclose in quotes 
strFile = Dir(strFolder & "\*.xls*", vbNormal) ' looks for ,csv files only 

' This loops through files to find latest modified date 
    Do While strFile <> "" 
     If FileDateTime(strFolder & strFile) > dtLast Then 
      dtLast = FileDateTime(strFolder & strFile) 
      latestFile = strFolder & strFile 
     End If 
     strFile = Dir 
    Loop 

' The following will write the latest file name and sheet to 2 cells on the active sheet 
Range("XX") = latestFile   ' writes the latest .csv file name in your folder - substitute the cell location were you want the data 
Range("XY") = ActiveSheet.Name 'writs the Active Sheet name 

End Sub 
+0

Благодарим вас за ответ. Извините, я должен был уточнить, я хочу отобразить имя рабочей книги и имя листа книги, которую я экспортировал из файла CSV. – adit123

Смежные вопросы