poniedziałek, 31 stycznia 2011

EXCEL VBA - generowanie zakładki pod korespondencje seryjną.

EXCEL
Kod filtruje listę (w zakładce "WORK") na podstawie określonych kryteriów i kopiuje do istniejącej zakładki( SERYJNA) (wcześniej ją czyszcząc) wartości, które potem są wykorzystywane do korespondencji seryjnej w wordzie

Sub gen_seryjna()
' wpierw czyścimy zakładkę "SERYJNA"
    Sheets("SERYJNA").Select
    Cells.Select
    Selection.Delete Shift:=xlUp
    Sheets("WORK").Select
' filtrujemy, "Field=10" to określenie kolumny, "kryteria" to kryteria filtrowania
    Selection.AutoFilter Field:=10, Criteria1:="OBCIĄŻENIE"
' zaznacza tylko komórki w których istnieją dane  
    Selection.CurrentRegion.Select 
    Selection.Copy
    Rows("1:1").Select
    Sheets("SERYJNA").Select
    Range("A1").Select
' wklejamy 
    ActiveSheet.Paste
' usuwamy pierwszy wiersz (który w moim pliku np zawierał przyciski, a nazwy kolumn były w drugim wierszu) 
    Rows("1:1").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlUp
' kolumny wyrównujemy 
    Columns("A:N").EntireColumn.AutoFit
    Sheets("WORK").Select
    Selection.AutoFilter Field:=10
    Range("A3").Select
    Application.ScreenUpdating = True
End Sub

Brak komentarzy:

Prześlij komentarz