vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest piątek, 17 maja 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

Adres komórki


otwartyotwarty rozpoczął: doktor postów: 2



napisał: Rycho
postów: 291


umieszczony:
19 marca 2006
14:33

  
Witaj.
Odpowiem nie wprost.
To co chcesz zrobić, robię w poniższy sposób:
W arkuszu BAZA definiuję nazwę (z menu:wstaw / nazwa /definiuj):
-nazwa w skoroszycie: dane
-odwołuje się do:
=PRZESUNIĘCIE(BAZA!$A$1;0;0;ILE.NIEPUSTYCH(BAZA!$A:$A);ILE.NIEPUSTYCH(BAZA!$1:$1))


I na podstawie tej nazwy tworzę tabelę, która zawsze będzie widziała cały zakres danych.

W module arkusza z tabelą przestawną wstawiam kod, ktorego zadaniem jest aktualizacja tabeli w momencie "wejścia" do akusza:
Sub Worksheet_Activate()
    ActiveSheet.PivotTables(1).RefreshTable
End Sub



lub (podpowiadane wartości pól po pewnym czasie używania zmieniającej się tabeli zawierają wiele nieaktualnych już wartości)
Private Sub XWorksheet_Activate()
  Dim pf As PivotField, pi As PivotItem
  
  Application.ScreenUpdating = False
  With ActiveSheet.PivotTables(1)
    .RefreshTable
    For Each pf In .PivotFields
      For Each pi In pf.PivotItems
        If pi.RecordCount = 0 Then
          If pi.Name <> "(puste)" Then pi.Delete
        End If
      Next
    Next
    .RefreshTable
  End With
  Application.ScreenUpdating = True
End Sub




pozdrawiam
Rycho
napisał: doktor
postów: 40


umieszczony:
19 marca 2006
11:59

  
Witam

Mam takie makro i ie wiem jak zrobic adresowanie względem ostatniej nie pustej komórki.
Sub Makro1()

Dim wiersz As String
Dim kolimna As String
Worksheets("BAZA").Activate
Range("F2").Select
ActiveCell.End(xlDown).Select
wiersz = ActiveCell.Row
kolumna = ActiveCell.Column

ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
"BAZA!(R1C1:R(wiersz)C(kolumna)" <-- NIE WIEM JAK TU WPISAĆ
ActiveWorkbook.ShowPivotTableFieldList = True
ActiveWorkbook.ShowPivotTableFieldList = False
End Sub

Jest to makro które ma aktualizować dane w tabeli przestawnej. baza danychjest wklejana i ma różną ilość wierszy.

proszę o pomoc.

Pozdrawiam


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z