Citat:
Sudarica: Molim još malo pažnje za slanje dokumenata
Postao sam u ovoj temi pa se osjećam prozvanim

Pitam se koji ti to posao radiš kada imaš takve potrebe?
Vidi nemam vremena ponovno se udubljivati u temu ali evo nekih brzinskih prijedloga jer ne znam koliko može biti opcija a vjerojatno bi se pomoću Macroa dalo fixirati
Dakle Sheet "katalog" je polazna točka u kojoj si odredila što ćeš kome slati
U stupac A postavi e-mail adrese a u stupac B FileName
PRVI NAČIN:
1. Napraviš na sheetu "katalog" tako da ti prvo bude u stupcu A e-mail pa stupac B FilesName
2. Selektiraš sve i Copy
3. Prijeđeš na Sheet1 ćelija B2 => pa Paste Special/Values
4. Sada imaš sve e-mail adrese na svom mjestu i FilesName (stupci B i C)
5. Selektiraš FilesName za jednu e-mail adresu i Transpose u D2 usporedno u istom redu
6. Sada imaš za dotičnu e-mail FilesName u istom redu a to odgovara onom Macrou koji šalje e-mailove
7. Pobrišeš duplikate e-mail adresa za koju si radila ovu radnju
8. Opet ideš dalje na Delete praznih među-redova
9. Ponoviš radnju za slijedeću e-mail adresu
10. Na kraju prije slanja obrišeš stupac C i imaš polaznu situaciju za slanje e-mailova preko Makronaredbe
Jeste da je "manualno" ali ako nema drugog načina "snađi se"
DRUGI NAČIN:
1.Upotrijebi Macro Function koja će automatski kopirati UNIQUE e-mail adrese na Sheet1 sa Sheeta "katalog"
2.Tada manualno sa Sheeta "katalog" transponiraš FileName za određenu e-mail adresu
Code:
Function UNIQUE(InputRange As Range, ItemNo As Long) As Variant
Dim cl As Range, cUnique As New Collection, cValue As Variant
Application.Volatile
On Error Resume Next
For Each cl In InputRange
If cl.Formula <> "" Then
cUnique.Add cl.Value, CStr(cl.Value)
End If
Next cl
UNIQUE = ""
If ItemNo = 0 Then
UNIQUE = cUnique.Count
Else
If ItemNo <= cUnique.Count Then
UNIQUE = cUnique(ItemNo)
End If
End If
On Error GoTo 0
End Function
formula za funkciju je:
(redom se povećava broj)
BTW: Raspon podataka na Sheetu "katalog" e-mail adresa sam
imenovao nazivom "emailovi"
Code:
B2 => =UNIQUE(emailovi;1)
B3 => =UNIQUE(emailovi;2)
B4 => =UNIQUE(emailovi;3)
B5 => =UNIQUE(emailovi;4)
...
TREĆI NAČIN:
1.Upotrijebi Macro koji će nakon pokretanja kopirati UNIQUE e-mail adrese na Sheet1 sa Sheeta "katalog"
2.Tada manualno sa Sheeta "katalog" transponiraš FileName za određenu e-mail adresu
Code:
Sub KopirajUniqueText()
For Each sh In Sheets(Array("katalog")) 'Sheet koji se pretražuje
For Each cl In sh.Columns(1).SpecialCells(2) 'stupac koji se pretražuje 1=A
If InStr(c01, cl.Value) = 0 Then c01 = c01 & "|" & cl.Value
Next
Next
Sheets("Sheet1").Cells(2, 2).Resize(UBound(Split(c01, "|"))) = Application.Transpose(Split(Mid(c01, 2), "|")) 'Sheet na kojem želimo rezultat u (2,2) tj. B2
End Sub
Evo toliko o ovome od mene.
Vjerujem da bi se možda moglo riješiti i automatsko transponiranje ali to ti MOŽDA pomogne netko drugi
BTW: File ti je prevelik jer na Sheetu FILES imaš previše redova. Obriši redove koje ne koristiš pa će se file smanjiti (kao što su ovi moji)
U attachu (ZIP file) nalaze se svi načini koje sam ovdje opisao, pa pogledaj kako to izgleda u praksi.