CODE VBA - Resize Table

Liên hệ QC

hoahuongduong1986

Thành viên thường trực
Tham gia
14/11/18
Bài viết
346
Được thích
40
Kính gửi Anh Chị và các Bạn,
Em có File kèm theo. Sheet Data Ban đầu em đặt tên vùng có dữ liệu bằng cách Insert => Table => Vùng tên là Table1. Sau đó em Pivot sang Sheet Pivot tại vùng A:B. Em dùng Lệnh Copy vùng A:B này sang vùng F:G và đặt tên vùng có dữ liệu là bảng có tên Table4. Tuy nhiên,
+ Nếu dữ liệu được đổ vào sheet Data mà dài hơn thì vẫn Ok => Khi Pivot nó không để ra khoảng trống (Tức vùng của Table nó nằm trọn trong vùng có dữ liệu)
+ Nhưng nếu vùng dữ liệu đổ vào Sheet Data xóa bớt đi, ngắn hơn thì vùng của Table nó không tự động có giản theo vùng có dữ liệu.

=> Có Code gì mà làm cho Table 1, và Table 4 nó tự co giản theo dữ liệu ạ. Phải làm riêng cho từng Table hay có thể làm Code áp dụng cho mọi Table ạ. Nhờ Anh Chị và các bạn giúp đỡ.
 

File đính kèm

Kính gửi Anh Chị và các Bạn,
Em có File kèm theo. Sheet Data Ban đầu em đặt tên vùng có dữ liệu bằng cách Insert => Table => Vùng tên là Table1. Sau đó em Pivot sang Sheet Pivot tại vùng A:B. Em dùng Lệnh Copy vùng A:B này sang vùng F:G và đặt tên vùng có dữ liệu là bảng có tên Table4. Tuy nhiên,
+ Nếu dữ liệu được đổ vào sheet Data mà dài hơn thì vẫn Ok => Khi Pivot nó không để ra khoảng trống (Tức vùng của Table nó nằm trọn trong vùng có dữ liệu)
+ Nhưng nếu vùng dữ liệu đổ vào Sheet Data xóa bớt đi, ngắn hơn thì vùng của Table nó không tự động có giản theo vùng có dữ liệu.

=> Có Code gì mà làm cho Table 1, và Table 4 nó tự co giản theo dữ liệu ạ. Phải làm riêng cho từng Table hay có thể làm Code áp dụng cho mọi Table ạ. Nhờ Anh Chị và các bạn giúp đỡ.
Mình nhớ hình như có từng làm cho bạn
Mã:
'Khai bao bien'
Dim tbl As ListObject
-------------------
--------------------
With Sheet2
Set tbl = .ListObjects("Table4")
    tbl.Resize tbl.Range.CurrentRegion
End With
 
Upvote 0
Mình nhớ hình như có từng làm cho bạn
Mã:
'Khai bao bien'
Dim tbl As ListObject
-------------------
--------------------
With Sheet2
Set tbl = .ListObjects("Table4")
    tbl.Resize tbl.Range.CurrentRegion
End With
Em có nhớ, nhưng tiện em hỏi là mình có cách nào nó nhận ra rằng. Với File mình đang làm thì nếu có 4 table thì nó luôn co đúng đến miền có dữ liệu không ạ. Ví dụ File e nếu ra thì có 2 table thì có cách nào chỉ làm một lần mà cả hai table thay vì chỉ mặt đúng tên table cụ thể đều co giãn đúng ạ
 
Upvote 0
Em có nhớ, nhưng tiện em hỏi là mình có cách nào nó nhận ra rằng. Với File mình đang làm thì nếu có 4 table thì nó luôn co đúng đến miền có dữ liệu không ạ. Ví dụ File e nếu ra thì có 2 table thì có cách nào chỉ làm một lần mà cả hai table thay vì chỉ mặt đúng tên table cụ thể đều co giãn đúng ạ
Bạn thử như vậy

Mã:
Option Explicit

Public Sub resizeTables()
Dim ws As Worksheet
Dim tbl As ListObject
    Application.ScreenUpdating = False
    For Each ws In ThisWorkbook.Worksheets
    For Each tbl In ws.ListObjects
        tbl.Resize tbl.Range.CurrentRegion
    Next tbl
    Next ws
    Application.ScreenUpdating = True
End Sub
 
Upvote 0
Mình nhớ hình như có từng làm cho bạn
Mã:
'Khai bao bien'
Dim tbl As ListObject
-------------------
--------------------
With Sheet2
Set tbl = .ListObjects("Table4")
    tbl.Resize tbl.Range.CurrentRegion
End With
Em thử thêm biến và làm được rồi anh ạ.
Em có một câu hỏi liên quan đến Pivot, e có hỏi mà mọi người không ai trả lời được anh xem em với nhé. kHông biệt có bị mắng vì hỏi không phải Code vào đây không ạ.

E có câu hỏi liên quan đến Pitable, PowerPivot trên OFFCICE 2013
- Khi không add data to Model (Không dùng Power Pivot):
+ Vì khi phân tích cần có Thêm Item Nợ xấu, tỷ lệ nợ xấu luôn vào bảng Pivot nên em Chọn thêm tính Items: Tuy nhiên khi bảng bố trị dạng Parents thì nó tính sai tỷ lệ (Nó cộng theo chiều dọc cột)
+ Cái Items đó nó đeo đẳng mãi không thôi khi thực hiện các Pivot khác từ Table có tên là table1 => Làm sao để loạn bỏ nó cho các bảng tính sau (Thực tế khi bỏ thì nó bỏ hết luôn: Em có nghĩ đến vào chỗ Retain Items…Chọn NONE mà hem được)

- Nếu Pivot chọn Add data to model: Thì cái phần Alynaze chỗ Caculated items nó ẩn và hiện ra cái cách tính mới mà chưa biết tính (File Excel mình có chụp ảnh) => Nếu tính thêm Items Nợ xấu, tỷ lệ nợ xấu thì tính thế nào ạ.
- Nếu dùng PowerPivot thì nó hiện ra màn hình như File (Em thấy nó là tính Fields không phải tính Items) => Nếu tính nợ xấu và tỷ lệ nợ xấu thì tính sao ạ.
 

File đính kèm

Upvote 0
Em thử thêm biến và làm được rồi anh ạ.
Em có một câu hỏi liên quan đến Pivot, e có hỏi mà mọi người không ai trả lời được anh xem em với nhé. kHông biệt có bị mắng vì hỏi không phải Code vào đây không ạ.

E có câu hỏi liên quan đến Pitable, PowerPivot trên OFFCICE 2013
- Khi không add data to Model (Không dùng Power Pivot):
+ Vì khi phân tích cần có Thêm Item Nợ xấu, tỷ lệ nợ xấu luôn vào bảng Pivot nên em Chọn thêm tính Items: Tuy nhiên khi bảng bố trị dạng Parents thì nó tính sai tỷ lệ (Nó cộng theo chiều dọc cột)
+ Cái Items đó nó đeo đẳng mãi không thôi khi thực hiện các Pivot khác từ Table có tên là table1 => Làm sao để loạn bỏ nó cho các bảng tính sau (Thực tế khi bỏ thì nó bỏ hết luôn: Em có nghĩ đến vào chỗ Retain Items…Chọn NONE mà hem được)

- Nếu Pivot chọn Add data to model: Thì cái phần Alynaze chỗ Caculated items nó ẩn và hiện ra cái cách tính mới mà chưa biết tính (File Excel mình có chụp ảnh) => Nếu tính thêm Items Nợ xấu, tỷ lệ nợ xấu thì tính thế nào ạ.
- Nếu dùng PowerPivot thì nó hiện ra màn hình như File (Em thấy nó là tính Fields không phải tính Items) => Nếu tính nợ xấu và tỷ lệ nợ xấu thì tính sao ạ.
Là sao là muốn ẩn thành như vậy hay sao? đọc không hiểu
216465
 
Upvote 0
Không ạ, thôi bỏ qua vụ này. Em muốn xin số điện thoại của anh để mời anh ly Cafe, em ngoài Bắc nhưng vẫn có cách mời được.he
Nếu bạn làm bên công ty ACS chắc tìm ra mình, vì từ trước giờ nếu mua trả góp chỉ dùng bên công ty này
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom