Kopiranje listov med dvema datotekama

Pomoč pri delu z MS Excelom
Odgovori
Iskalec
Prispevkov: 18
Pridružen: Pe Avg 05, 2005 1:36 pm

Kopiranje listov med dvema datotekama

Odgovor Napisal/-a Iskalec »

Pozdravljeni!

Iz idej, ki sem jih dobil na tem forumu sem poskusil sestaviti kodo za makro, ki bi mi omogocala, kopiranje dolocenih listov v drug dokument :D . Imena obeh dokumentov nista vedno enaka oziroma se spreminjata.

Rec se je ustavila v vrstici, kjer sem verjetno nepravilno definiral ime delovnega zvezka.

Hvalezen bi bil za kaksno resitev.

Lep dan!

Iskalec

Koda: Izberi vse

Public Function AliZvezekObstaja(WSName As String) As Boolean

    Dim Ime As String
    On Error GoTo Konec
    Ime = Worksheets(WSName).Name
    AliZvezekObstaja = True
    Exit Function
Konec:
    AliZvezekObstaja = False
End Function
Sub PRENOS2006()

'
' Idejna resitev 2004/2005: Matjaz Prtenjak
' www.matjazev.net
'

  Dim prviDZ_ime As String
  Dim tmp
  
  ' izberem prvi DZ
  tmp = Application.GetOpenFilename(fileFilter:="Excelove datoteke (*.xls), *.xls", Title:="Izberite datoteko...")
  If (tmp <> False) Then
    prviDZ_ime = tmp
  Else
    Exit Sub
  End If
  
  ' oba zvezka odprem
  Dim prviDZ As Workbook
  Dim drugiDZ As Workbook
  
  Set drugiDZ = ThisWorkbook
  Set prviDZ = Workbooks.Open(prviDZ_ime)

    prviDZ.Activate
If (AliZvezekObstaja("IME")) Then
    Sheets("IME").Select
Cells.Replace What:="=", Replacement:="a=", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Sheets("IME").Select
    Sheets("IME").Copy Before:=Workbooks("drugiDZ").Sheets(5)
    Cells.Replace What:="a=", Replacement:="=", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
prviDZ.Activate
    Cells.Replace What:="a=", Replacement:="=", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
prviDZ.Close

End If

End Sub
admin
Site Admin
Prispevkov: 3692
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Pozdravljeni,

Boste pa morali povedati malce več. Predvsem na KAteri vrstici konkretno se makro ustavi!
lp,
Matjaž Prtenjak
Administrator
Iskalec
Prispevkov: 18
Pridružen: Pe Avg 05, 2005 1:36 pm

Odgovor Napisal/-a Iskalec »

Pozdravljeni!

Hvala za taksno brzino!

Ustavi se v okrepljeni vrstici:

"Sheets("IME").Select

Sheets("IME").Copy Before:=Workbooks("drugiDZ").Sheets(5)

Cells.Replace What:="a=", Replacement:="=", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False"

lep dan se naprej!

Iskalec
admin
Site Admin
Prispevkov: 3692
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

POzdravljeni,

vrstica mora vsekakor izgledati takole...

Koda: Izberi vse

  Sheets("IME").Copy Before:=drugiDZ.Sheets(5)
lp,
Matjaž Prtenjak
Administrator
Iskalec
Prispevkov: 18
Pridružen: Pe Avg 05, 2005 1:36 pm

Odgovor Napisal/-a Iskalec »

Pozdrav!

Hvala, stvar sedaj obratuje tak okot treba :D !

Bi me pa zanimalo se nekaj. Ko se kopirajo posamezni listi v drug dokument se mi pojavlja pogovorno okno citat:
Formula ali list, ki ga zelite premakniti ali prekopirati, vsebuje ime “Področje tiskanja”, ki na ciljnem delovnem listu ze obstaja. Ali zelite uporabiti razlicico imena?
.Ce zelite uporabiti ime, ki je doloceno na ciljnem listu, kliknite “Da”.
.Ce zelite preimenovati obseg, na katerega se sklicujete v formuli ali na delovnem listu, kliknite “Ne” in v pogovorno okno “Spor zaradi imen” vnesite novo ime.
Vedno bi zelel odgovoriti z "DA".

Ali je mozno, da bi nekako izkljucil to pogovorno okno in bi se stvar samodejno izvajala?

Hvala ze vnaprej!

Iskalec
admin
Site Admin
Prispevkov: 3692
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Pozdravljeni,

Poskusite na začetku makra napisati:

Koda: Izberi vse

application.DisplayAlerts = False
Ob koncu pa nikakor ne pozabite popraviti na:

Koda: Izberi vse

application.DisplayAlerts = True
Povejte ali je pomagalo.
lp,
Matjaž Prtenjak
Administrator
Iskalec
Prispevkov: 18
Pridružen: Pe Avg 05, 2005 1:36 pm

Odgovor Napisal/-a Iskalec »

Pozdravljeni!

Vaso resitev sem uporabil in jo tudi veckrat preizkusil. Zaenkrat mi odlicno deluje :D!

Hvala!

Iskalec
Odgovori