Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 4.051 pregleda

Najnovija ↓

[Excel] VBA Kopiranje 08.11.2007. u 13:33 · pre 231 mesec #1
Excel fajl sa 7 sheetova. Iz svakog sheeta trebam da iskopiram odredjeni red u drugi excelov fajl tako da redovi budu jedan ispod drugog.

Dali moram da koristim Copy/Paste u VBA ili moze direkto da se dodeli vrednost po principu: "red u red" kao sto moze "celija u celiju" ?
Dali sheet u koji hoci da pasteujem mora da bude aktivan ili mogu da mu pristupim preko objekta ?
Dali promenljivoj mogu da dodelim vrednost odredjenog reda i ako moze kog tipa bi bila ta promenljiva. Verujem da mogu da dodelim adresu tj putanju pa onda sa .value da uradim nesto ...


Jel moze ovo da se skrati, tako sto necu aktivirati sheet nego mu samo pristupiti ?

Rows(rFoundCell.Row).Select
Selection.Copy
Windows("Stimulacije.xls").Activate
Worksheets("pomocna").Range("A4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

a posle ovoga bi morao da aktiviram sledeci sheet iz izvornog fajla pa onda paste u Range("a5") i tako 7 puta, kolko ima sheetova

Re: [Excel] VBA Kopiranje 08.11.2007. u 13:40 · pre 231 mesec
izmenjeno 2 puta, poslednji put tomislavbo 08.11.2007. u 13:57
  1. tomislavbo08.11.2007. u 13:57zapis iz teksta poruke
  2. tomislavbo08.11.2007. u 13:51zapis iz teksta poruke
#2
Jedno malo Makro moze da resi ovo. !!

Macro1
=ACTIVATE("BOOK1.XLS")
=WORKBOOK.SELECT("1";"1")
=SELECT("R1")
=COPY()
=ACTIVATE("BOOK2.XLS")
=SELECT("R2")
=PASTE()
=ACTIVATE("BOOK1.XLS")
=WORKBOOK.SELECT("2";"2")
=SELECT("R2")
=COPY()
=ACTIVATE("BOOK2.XLS")
=SELECT("R3")
=PASTE()
........
.....
...
itd





=RETURN()
Re: [Excel] VBA Kopiranje 08.11.2007. u 15:22 · pre 231 mesec #3
Tako sam ga i ja napravio, hteo bih malo da ga optimizujem.
Najpre bih da izbacim to "aktiviranje" sheetova.
Re: [Excel] VBA Kopiranje 09.11.2007. u 09:38 · pre 231 mesec #4
Ovo sam danas, iz cuga, iskopao na googletu.

Rows(X).Copy Destination:=TargetSheet.Rows(X)

Mislim da ce mi odraditi posao.
Re: [Excel] VBA Kopiranje 09.11.2007. u 14:11 · pre 231 mesec #5
I opet se sam dopunjujem.

Igrao sam se sa:
Rows(X).Copy Destination:=TargetSheet.Rows(X)
i shvatio da ne umem da ga nateram da kopira samo value; paste special/value

Pa sam pribegao drugoj taktici posto mi, ko za inat, bas treba paste values :

Workbooks("Book6").Sheets("Sheet1").Rows(1).Value = Rows(rFoundCell.Row).Value

Re: [Excel] VBA Kopiranje 09.11.2007. u 16:12 · pre 231 mesec #6
I na kraju to ovako izgleda:

Code:
Sub stimulacije()
Dim lCount As Long
Dim rFoundCell As Range
Dim TrazenaVrednost As String
Dim WkSht As Worksheet
Dim j As Integer

TrazenaVrednost = InputBox("Unesite sifru")
j = 4 '
   
   For Each WkSht In Worksheets
        WkSht.Activate
            Set rFoundCell = Range("b1")
             If WorksheetFunction.CountIf(Columns(2), TrazenaVrednost) > 1 Then MsgBox ("Dve vrednosti u jednom sheetu, neko ima pogresnu sifru")
                    Set rFoundCell = Columns(2).Find(What:=TrazenaVrednost, After:=rFoundCell, _
                       LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
                       SearchDirection:=xlNext, MatchCase:=False)
             'Rows(rFoundCell.Row).copy Destination:=Workbooks("Stimulacije.xls").Sheets("Pomocna").Rows(j)
             Workbooks("Stimulacije.xls").Sheets("Pomocna").Rows(j).Value = Rows(rFoundCell.Row).Value
j = j + 1
    Next
End Sub

Jos mi je samo ostalo da resim stampanje. Dokument Stimulacije je pripremljen za stampu.
Ova funkcija radi "nesto" cak i ako predhodno ne otvorim dokument Stimulacije, ali ne znam dal stvarno iskopira redove.
Dakle , poslednji korak, kako da stampam zatvoreni dokument ?
Dal predhodno moram da ga otvorim ?
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme