zxz 07.02.2017 02:36
Predmet:Re: Excel kopiranje listova iz Knjiga2, Knjiga3, Knjiga4.. u Knjiga1

Evo procedura samo je treba prilagoditi.
Ako nije jasno pitaj.
PreuzmiIzvorni kôd (Visual Basic):
  1. Function DirFajl(Putanja As String, Optional Kriterija As String = "*")
  2. On Error GoTo Error_Handler
  3.     Dim Fajl As String
  4.     Fajl = Dir(Putanja & "*." & Kriterija)
  5.         Do While Fajl <> vbNullString
  6.             If Fajl <> "." And Fajl <> ".." Then
  7.                     Debug.Print "- " & Fajl
  8.             End If
  9.             Fajl = Dir
  10.         Loop
  11. Error_Handler_Exit:
  12.     On Error Resume Next
  13.     Exit Function
  14. Error_Handler:
  15.     MsgBox "The following error has occured." & vbCrLf & vbCrLf & _
  16.             "Error Number: " & Err.Number & vbCrLf & _
  17.             "Error Source: DirFajl" & vbCrLf & _
  18.             "Error Description: " & Err.Description, _
  19.             vbCritical, "An Error has Occured!"
  20.     Resume Error_Handler_Exit
  21. End Function

Avko 06.02.2017 17:00
Predmet:Excel kopiranje listova iz Knjiga2, Knjiga3, Knjiga4.. u Knjiga1

trebao bi nekakvu proceduru koja ce sve listove iz Knjiga2.xlms, Knjiga3.xlms,Knjiga4.xlms...itd
kopirati u Knjiga1.xlms nakon List1

hvala

ja sam nasao nesto na internetu ali mi ne radi:

PreuzmiIzvorni kôd (Visual Basic):
  1. Dim directory As String, fileName As String, sheet As Worksheet, total As Integer
  2. Application.ScreenUpdating = False
  3. Application.DisplayAlerts = False
  4. directory = "c:\test\"
  5. fileName = Dir(directory & "*.xl??")
  6. Do While fileName <> ""
  7.         Workbooks.Open (directory & fileName)
  8.         For Each sheet In Workbooks(fileName).Worksheets
  9.                 total = Workbooks("import-sheets.xls").Worksheets.count
  10.                 Workbooks(fileName).Worksheets(sheet.Name).Copy _
  11.                         after:=Workbooks("import-sheets.xls").Worksheets(total)
  12.         Next sheet
  13.         Workbooks(fileName).Close
  14.         fileName = Dir()
  15. Loop
  16. Application.ScreenUpdating = True
  17. Application.DisplayAlerts = True

zxz 06.02.2017 22:12
Predmet:Re: Excel kopiranje listova iz Knjiga2, Knjiga3, Knjiga4.. u Knjiga1

Ovako.
Imas excel fajlove koji se zovu:
Knjiga1
Knjiga2
Knjiga3
i
Knjiga4.
U svim tim Fajlovima Imas po jeada sheet i hoces shetove iz knjiga2 knjiga3 i knijiga4 da kopiraš u knjigu1 u shetove 2, 3 i 4

Jeasam li pogodio?

Avko 07.02.2017 01:20
Predmet:Re: Excel kopiranje listova iz Knjiga2, Knjiga3, Knjiga4.. u Knjiga1

imam excel fajlove knjiga1, knjiga2, knjiga3 u njima su listovi (sheet) u
knjiga1 list1...list3
knjiga2, list1...list6
knjiga3, list1...list4

zelim kopirati sve listove iz svih tih excel fajlova u novi excel fajl knjiga4

zxz 07.02.2017 01:38
Predmet:Re: Excel kopiranje listova iz Knjiga2, Knjiga3, Knjiga4.. u Knjiga1

E onda idemo modul po modul.
Prvo treba napraviti proceduru koja ce pretrazivati sve exel fajlove u nekom diorektoriju jer ih moze biti vise.
Ako neces sve exel fajlove iz tog direktorija onda treba i napraviti spisak fajlova iz kjih zelis kopirati sitove.
Proceduru za pretragu diska imas u koristan kod accessovog foruma arhiva.
Kda tu proceduru dovedemo u red da radi ono sto treba onda idemo dalje.

Avko 07.02.2017 09:52
Predmet:Re: Excel kopiranje listova iz Knjiga2, Knjiga3, Knjiga4.. u Knjiga1

u isto vrijeme smo postali pa nije moje prihvatilo

ne treba pretraziti cijeli disk.

ja sam to ovako zamislio:
mogu staviti matricu sa nazivom fajlova

PreuzmiIzvorni kôd (Visual Basic):
  1. excelFile= array("knjiga1.xlms","knjiga2.xlms","knjiga3.xlms")
  2. dir="c:\excelFile\"
  3.  
  4. for f=1 to ubound(excelFile)
  5.     fileName=Dir(dir & excelFile(f))
  6.     ...
  7.     kod koji otvori excel file i kopira sve listove u trenutni excel file
  8.     ...
  9. next f

Avko 07.02.2017 20:08
Predmet:Re: Excel kopiranje listova iz Knjiga2, Knjiga3, Knjiga4.. u Knjiga1

kada radim sa procedurom jedan, dugo to traje ali napravi na kraju.
Problem je kada zelim snimiti taj excel fajl, javi mi sljedece greske:





dex 07.02.2017 22:57
Predmet:Re: Excel kopiranje listova iz Knjiga2, Knjiga3, Knjiga4.. u Knjiga1

Ovo kod mene radi
importuje sve neprazne sheetove iz direktorijuma gde je smesten fajl
radi za xls fajlove
trebalo bi dodati petlju da to jos jednom uradi za xlsx, xlsm, eventualno csv ili sta vec

PreuzmiIzvorni kôd (Visual Basic):
  1. Private Sub CommandButton2_Click()
  2. On Error GoTo Error_Handler
  3.    
  4.     Dim putanja As String
  5.     Dim Fajl As String
  6.     Dim kriterija As String
  7.     Dim puninaziv As String
  8.     Dim book As Workbook
  9.    
  10.     Application.ScreenUpdating = False
  11.     kriterija = "xls"   ' za xls (excel 2003 i nize fajlove)
  12.    putanja = Application.ThisWorkbook.Path 'nalazi tekuci direktorijum
  13.     puninaziv = putanja & "\*." & kriterija
  14.     Fajl = dir(puninaziv)
  15.         Do While Fajl <> vbNullString
  16.             If Fajl <> "." And Fajl <> ".." And Fajl <> Application.ThisWorkbook.Name Then ' da ne importuje tekuci fajl
  17.          
  18.                 Set book = Workbooks.Open(Fajl, True, True)
  19.                     For Each tabla In book.Sheets
  20.                     If tabla.UsedRange.Cells.Count > 1 Then ' da li i sheetu ima podataka
  21.                        tabla.Copy after:=Sheet1
  22.                     End If
  23.                 Next tabla
  24.  
  25.                 book.Close
  26.                  
  27.             End If
  28.             Fajl = dir
  29.         Loop
  30.         Application.ScreenUpdating = True
  31.        
  32. Error_Handler_Exit:
  33.     On Error Resume Next
  34.     Exit Sub
  35. Error_Handler:
  36.     MsgBox "The following error has occured." & vbCrLf & vbCrLf & _
  37.             "Error Number: " & Err.Number & vbCrLf & _
  38.             "Error Source: DirFajl" & vbCrLf & _
  39.             "Error Description: " & Err.Description, _
  40.             vbCritical, "An Error has Occured!"
  41.     Resume Error_Handler_Exit
  42. End Sub

zxz 07.02.2017 23:54
Predmet:Re: Excel kopiranje listova iz Knjiga2, Knjiga3, Knjiga4.. u Knjiga1

PreuzmiIzvorni kôd (Visual Basic):
  1. Option Explicit
  2.  
  3. Function Kopiraj()
  4.  Dim ObEx As Excel.Application
  5.  Dim Vork As Excel.Workbook, VorkN As Excel.Workbook
  6.  Dim ExSit As Excel.Worksheet, ExSitN As Excel.Worksheet
  7.  Dim excelFile, DirF As String, Filename As String, Putanja As String
  8.  Dim f As Integer, I As Integer
  9.  
  10. excelFile = Array("knjiga1.xlms", "knjiga2.xlms", "knjiga3.xlms")
  11. DirF = "c:\excelFile\"
  12. Putanja = DirF & "Zbirna.xlms"
  13. Set ObEx = New Excel.Application
  14. Set VorkN = ObEx.Workbooks.Add
  15. VorkN.SaveAs Putanja
  16. For f = 0 To UBound(excelFile)
  17.     Filename = Dir(DirF & excelFile(f))
  18.     If Filename <> "" Then
  19.     Putanja = DirF & Filename
  20.     Set Vork = ObEx.Workbooks.Open(Putanja)
  21.     For Each ExSit In Vork.Sheets
  22.     I = I + 1
  23.     ExSit.Copy VorkN.Sheets(I)
  24.     VorkN.Sheets(I).Name = Filename & "_" & ExSit.Name
  25.     Next ExSit
  26.     Vork.Close
  27.     End If
  28. Next f
  29. VorkN.Save
  30. VorkN.Close
  31. End Function

To ces ti fino srediti i objasniti kod.

zxz 08.02.2017 01:26
Predmet:Re: Excel kopiranje listova iz Knjiga2, Knjiga3, Knjiga4.. u Knjiga1

Hehe sad vidim da je i @dexxxl postavio.