zxz |
07.02.2017 01: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):Function DirFajl(Putanja As String, Optional Kriterija As String = "*")
On Error GoTo Error_Handler
Dim Fajl As String
Fajl = Dir(Putanja & "*." & Kriterija)
Do While Fajl <> vbNullString
If Fajl <> "." And Fajl <> ".." Then
Debug.Print "- " & Fajl
End If
Fajl = Dir
Loop
Error_Handler_Exit:
On Error Resume Next
Exit Function
Error_Handler:
MsgBox "The following error has occured." & vbCrLf & vbCrLf & _
"Error Number: " & Err.Number & vbCrLf & _
"Error Source: DirFajl" & vbCrLf & _
"Error Description: " & Err.Description, _
vbCritical, "An Error has Occured!"
Resume Error_Handler_Exit
End Function
|
Avko |
06.02.2017 16: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):Dim directory As String, fileName As String, sheet As Worksheet, total As Integer
Application.ScreenUpdating = False
Application.DisplayAlerts = False
directory = "c:\test\"
fileName = Dir(directory & "*.xl??")
Do While fileName <> ""
Workbooks.Open (directory & fileName)
For Each sheet In Workbooks(fileName).Worksheets
total = Workbooks("import-sheets.xls").Worksheets.count
Workbooks(fileName).Worksheets(sheet.Name).Copy _
after:=Workbooks("import-sheets.xls").Worksheets(total)
Next sheet
Workbooks(fileName).Close
fileName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
|
zxz |
06.02.2017 21: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 00: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 00: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 08: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):excelFile= array("knjiga1.xlms","knjiga2.xlms","knjiga3.xlms")
dir="c:\excelFile\"
for f=1 to ubound(excelFile)
fileName=Dir(dir & excelFile(f))
...
kod koji otvori excel file i kopira sve listove u trenutni excel file
...
next f
|
Avko |
07.02.2017 19: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 21: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):Private Sub CommandButton2_Click()
On Error GoTo Error_Handler
Dim putanja As String
Dim Fajl As String
Dim kriterija As String
Dim puninaziv As String
Dim book As Workbook
Application.ScreenUpdating = False
kriterija = "xls" ' za xls (excel 2003 i nize fajlove)
putanja = Application.ThisWorkbook.Path 'nalazi tekuci direktorijum
puninaziv = putanja & "\*." & kriterija
Fajl = dir(puninaziv)
Do While Fajl <> vbNullString
If Fajl <> "." And Fajl <> ".." And Fajl <> Application.ThisWorkbook.Name Then ' da ne importuje tekuci fajl
Set book = Workbooks.Open(Fajl, True, True)
For Each tabla In book.Sheets
If tabla.UsedRange.Cells.Count > 1 Then ' da li i sheetu ima podataka
tabla.Copy after:=Sheet1
End If
Next tabla
book.Close
End If
Fajl = dir
Loop
Application.ScreenUpdating = True
Error_Handler_Exit:
On Error Resume Next
Exit Sub
Error_Handler:
MsgBox "The following error has occured." & vbCrLf & vbCrLf & _
"Error Number: " & Err.Number & vbCrLf & _
"Error Source: DirFajl" & vbCrLf & _
"Error Description: " & Err.Description, _
vbCritical, "An Error has Occured!"
Resume Error_Handler_Exit
End Sub
|
zxz |
07.02.2017 22:54 |
Predmet:Re: Excel kopiranje listova iz Knjiga2, Knjiga3, Knjiga4.. u Knjiga1
PreuzmiIzvorni kôd (Visual Basic):Option Explicit
Function Kopiraj()
Dim ObEx As Excel.Application
Dim Vork As Excel.Workbook, VorkN As Excel.Workbook
Dim ExSit As Excel.Worksheet, ExSitN As Excel.Worksheet
Dim excelFile, DirF As String, Filename As String, Putanja As String
Dim f As Integer, I As Integer
excelFile = Array("knjiga1.xlms", "knjiga2.xlms", "knjiga3.xlms")
DirF = "c:\excelFile\"
Putanja = DirF & "Zbirna.xlms"
Set ObEx = New Excel.Application
Set VorkN = ObEx.Workbooks.Add
VorkN.SaveAs Putanja
For f = 0 To UBound(excelFile)
Filename = Dir(DirF & excelFile(f))
If Filename <> "" Then
Putanja = DirF & Filename
Set Vork = ObEx.Workbooks.Open(Putanja)
For Each ExSit In Vork.Sheets
I = I + 1
ExSit.Copy VorkN.Sheets(I)
VorkN.Sheets(I).Name = Filename & "_" & ExSit.Name
Next ExSit
Vork.Close
End If
Next f
VorkN.Save
VorkN.Close
End Function
To ces ti fino srediti i objasniti kod. |
zxz |
08.02.2017 00:26 |
Predmet:Re: Excel kopiranje listova iz Knjiga2, Knjiga3, Knjiga4.. u Knjiga1
Hehe sad vidim da je i @dexxxl postavio. |