Da ne ulazim u to koliko ima smisla (za učenje Excela i Engleskog svakako) konkretno rešenje bi moglo da bude da se na aktivaciju lista A, B, C itd... obriše stari sadržaj iz tog lista i počevši od ćelije A1, kopira rezultat filtera na kompletnoj listi reči ("BAZA ZA UPIS REČI")sa kriterijumom "begin with " + naziv lista.
Za tako formulisan problem, isti kod važiće za bilo koji list. Ja sam prvo napravio proceduru koju upišeš u poseban modul
Code:
Option Explicit
Sub Filter(shDest As Worksheet, Criteria As String)
' Briše sadržaj aktivnog lista i
' kopira iz baze reči sa početnim slovom
' koje odgovara nazivu lista
' P. Jovanovic za elitesecurity.org
'
Dim reci As Range
Dim sh As Worksheet
Dim rkraj As Long
Set sh = Sheets("BAZA ZA UPIS REČI")
rkraj = sh.Range("A1").End(xlDown).Row
Set reci = sh.Cells(1, 1).Resize(rkraj, 2)
sh.AutoFilterMode = False
shDest.Cells.Clear ' Brise prethodno
' Formira novo
With reci
.AutoFilter Field:=1, Criteria1:="=" & Criteria & "*"
.SpecialCells(xlCellTypeVisible).Copy Destination:=shDest.Range("A1")
End With
sh.AutoFilterMode = False
End Sub
Onda za svaki list na događaj Worksheet_Activate ubaciš kod koji poziva tu proceduru sa odgovarajućim listom kao parametrom
Code:
Private Sub Worksheet_Activate()
Filter ActiveSheet, ActiveSheet.Name
End Sub
Postoje i drugačije varijate. Kad već koristiš makroe, možda ima smisla da se napravi forma za unos reči (izbeglo bi se sortiranje svaki put) i forma za pretragu.
Nije to loše Rembrante, samo što ne bi dodao još malo boje?