Edytuję jedną tabelę, klikam na kolumnę indeksu, za pomoca którego tabele połączyłem. Chcę by otworzyła się druga tabela z wifiltrowanymi pakietami.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim id As String If Intersect(Target, ListObjects("Table1").ListColumns("Nr_umowy").Range) Is Nothing Then Exit Sub If Not Target.Cells.Count <> 1 Then Application.ScreenUpdating = False id = CStr(Selection) Windows("contracts_two_tables.xlsm:1").Activate Sheets("Pakiety").Activate ActiveSheet.ListObjects("Table2").Range.AutoFilter Field:=1, Criteria1:=id ' , Operator:=xlAnd, Criteria2:="<=" & id4 Application.ScreenUpdating = True End If On Error GoTo ErrorHandling Debug.Print Sheets("Pakiety").ListObjects("Table2").ListColumns("Nr_umowy").DataBodyRange.SpecialCells(xlCellTypeVisible).Count On Error GoTo 0 Exit Sub ErrorHandling: Sheets("Pakiety").Range("A60000").End(xlUp).Offset(1, 0).Formula = "'" & id End SubW trzeciej zakładce mam pivota stworzonego za pomocą MSQuery. Jak go odświeżać? Ostatecznie takie rozwiązanie zadziałało:
Private Sub Worksheet_Activate() 'ActiveWorkbook.Connections("Query from Excel Files1").ODBCConnection.BackgroundQuery = False ActiveWorkbook.Connections("Query from Excel Files1").Refresh Sheets("Podsumowanie").PivotTables("PivotTable1").Update End Sub
Dodatkowo, chciałbym widzieć obie tabele obok siebie po włączeniu.
Private Sub Workbook_Open() Sheets("Pakiety").Select ActiveWindow.NewWindow Sheets("Umowy").Select ThisWorkbook.Windows.Arrange ArrangeStyle:=xlVertical End SubDo pierwszego makra dodaję jeszcze Windows("contracts_two_tables.xlsm:1").Activate tak aby kliknięcie w kod powodowało filtrowanie po kodzie w drugim oknie. Plik z rozwiązaniem Brudnopis: Make selection in sheet 1 filter sheet 2 and on edit add an empty row?? Simple solution for data entry: Auto-copy clicked ID to new row in second table. If nothing entered - cleanup? Reporting: Ideas: http://chandoo.org/wp/2012/04/02/using-excel-as-your-database/ or simply MS Query and
Brak komentarzy:
Prześlij komentarz