Palo235
25.01.10,11:42
Ahoj poradaci

potraboval by som nieco taketo mam sheet A a sheet B

Sheeta A mam stlpec A B C D E (s hodnotami) a v Sheete B mam stlpec A B C D

a chci podmienku:
(sheet)stlpec = (sheet)stlpec
(A)A = (B)A
(A)B = (B)B
(A)C = (B)C
(A)D = (B)D

tak prirad hodnotu z stlpca (A)E do (B)E

jednou vetou: ked su rovnake hodnoty (A)(B) v 4 bunkach tak zober (A)E hodnotu a pripis ju do (B)E

napisal som si nato aj makro ale kym to porovna 800riadkov z A dokumentu s dokumentom B kde je asi 16000 riadkov .... trva to asi 3hodiny

prikladam aj makro pre lepsie pochopenie:

Sub Makro2()

Windows("ATS AUTOMATIZACIA.xls").Activate
Range("A1").Select
Windows("test.xls").Activate
Range("B3").Select


For a = 1 To 561

Windows("ATS AUTOMATIZACIA.xls").Activate
a1 = ActiveCell.Address
ActiveCell.Next(1, 1).Select
b1 = ActiveCell.Address
ActiveCell.Next(1, 1).Select
c1 = ActiveCell.Address
ActiveCell.Next(1, 1).Select
d1 = ActiveCell.Address

For b = 1 To 16692

Windows("test.xls").Activate
a2 = ActiveCell.Address
ActiveCell.Next(1, 1).Select
b2 = ActiveCell.Address
ActiveCell.Next(1, 1).Select
c2 = ActiveCell.Address
ActiveCell.Next(1, 1).Select
d2 = ActiveCell.Address


Select Case Workbooks("ATS AUTOMATIZACIA.xls").Sheets(3).Range(a1).Value
Case Is = Workbooks("test.xls").Sheets(1).Range(a2).Value
Select Case Workbooks("ATS AUTOMATIZACIA.xls").Sheets(3).Range(b1).Value
Case Is = Workbooks("test.xls").Sheets(1).Range(b2).Value
Select Case Workbooks("ATS AUTOMATIZACIA.xls").Sheets(3).Range(c1).Value
Case Is = Workbooks("test.xls").Sheets(1).Range(c2).Value
Select Case Workbooks("ATS AUTOMATIZACIA.xls").Sheets(3).Range(d1).Value
Case Is = Workbooks("test.xls").Sheets(1).Range(d2).Value
Windows("ATS AUTOMATIZACIA.xls").Activate
ActiveCell.Next(1, 1).Select
Selection.Copy
Windows("test.xls").Activate
ActiveCell.Next(1, 2).Select
ActiveSheet.Paste
End Select
GoTo preskoc
End Select
GoTo preskoc
End Select
GoTo preskoc
End Select

preskoc:
Windows("test.xls").Activate
ActiveCell.Next(2, -3).Select
Next b

Windows("test.xls").Activate
Range("B3").Select
Windows("ATS AUTOMATIZACIA.xls").Activate
ActiveCell.Next(2, -4).Select

Next a

End Sub

samozrejme to makro pracuje s dokumentami (nie medzy sheetami v jednom dokumente)

chcel by som nejaky excel vzorec co by mi toto ulahcil
neviem ci taky vzorec existuje ale ked hej bol by som vdacny :)


prikladam aj prilohu
jojom
25.01.10,12:01
Taktoby to mohlo fachčiť ale v stľpci F nie E ako chceš: {=INDEX(A!$E$1:$E$880;MATCH(1;(A!$A$1:$A$880=B3)*( A!$B$1:$B$880=C3)*(A!$C$1:$C$880=D3)*(A!$D$1:$D$88 0=E3);0))}
Je to samozrejme maticový vzorec, čiže ulož pomocou Ctrl+Shift+Enter. Vracia číslo v stľpci "E" z hárku A. Ale do stĺpca E to nepojde, len do stlpca F. a potom to už len spojiť.
Palo235
26.01.10,06:10
- jo to je to prave orechove :) z 3hod je to urobene za 15sec

je nieco co ten excel nedokaze?
jojom
26.01.10,06:51
Podľa toho čo viem ( a veľa toho neviem ) a vidím čo vedia niektorý tu na porade ( nebudem ich menovať oni aj tak vedia že sú dobrý v exceli), tak nezvládne len postaviť vrtulník :D