Chào các bạn,
Mình đang làm một macro xử lý thông tin cho bảng dữ liệu nhưng đang bị kẹt ở chỗ Range (tô màu xanh). Mình muốn chọn từ ô B12 tới B60 (file đính kèm) để mình có thể chọn CellTypeBlank và paste công thức vào đó. Mình tính find ô "Grand Total" và offset về ô B60 nhưng không biết cách nào để có thể chọn từ ô B12 tới B60.
Các bạn giúp mình chọn vùng dữ liệu theo cách mình định làm (dùng find). Các bạn có cách khác hay hơn mong giới thiệu để mình tham khảo thêm. Mình cũng mói tìm hiểu VBA gần đây
Cám ơn các bạn nhiều.
Range("C2:E2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.EntireRow.Hidden = True
Range("B1").Select
Selection.End(xlDown).Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.UnMerge
Range("D60").Select
Selection.EntireColumn.Insert
Cells.Find(What:="- 900", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Select
Selection.Offset(0,1).Select
ActiveCell. FormulaR1C1 = "=LEFT(RC[-1],2)"
ActiveCell.Offset(0,1).Select
ActiveCell. FormulaR1C1 = "=RIGHT(RC[-2],3)"
ActiveCell.Offset(0,1).Select
Range(Selection,Selection.End(xlToLeft)).Select
Selection.Columns.AutoFit
ActiveCell.Offset(1,0).Select
ActiveCell.FormulaR1C1 = "=R[-1]C"
ActiveCell.Copy
ActiveCell.Offset(1,0).Activate
Dim r1,r2 myRange as Range
Set r1 = ActiveCell
Cells.Find(What:="Grand Total", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
Set r2 = ActiveCell.Offset(-2,0).Select
Set myRange = range(r1, r2).select
* Lưu ý: Bảng dữ liệu này không cố định tại một địa chỉ nhất định. Vị trí dòng đầu tiên và tổng số dòng của bảng dữ liệu có thể thay đổi (vị trí và số lượng các cột không đổi) tuỳ theo số lượng Cost Center mình chọn.
Mình đang làm một macro xử lý thông tin cho bảng dữ liệu nhưng đang bị kẹt ở chỗ Range (tô màu xanh). Mình muốn chọn từ ô B12 tới B60 (file đính kèm) để mình có thể chọn CellTypeBlank và paste công thức vào đó. Mình tính find ô "Grand Total" và offset về ô B60 nhưng không biết cách nào để có thể chọn từ ô B12 tới B60.
Các bạn giúp mình chọn vùng dữ liệu theo cách mình định làm (dùng find). Các bạn có cách khác hay hơn mong giới thiệu để mình tham khảo thêm. Mình cũng mói tìm hiểu VBA gần đây
Cám ơn các bạn nhiều.
Range("C2:E2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.EntireRow.Hidden = True
Range("B1").Select
Selection.End(xlDown).Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.UnMerge
Range("D60").Select
Selection.EntireColumn.Insert
Cells.Find(What:="- 900", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Select
Selection.Offset(0,1).Select
ActiveCell. FormulaR1C1 = "=LEFT(RC[-1],2)"
ActiveCell.Offset(0,1).Select
ActiveCell. FormulaR1C1 = "=RIGHT(RC[-2],3)"
ActiveCell.Offset(0,1).Select
Range(Selection,Selection.End(xlToLeft)).Select
Selection.Columns.AutoFit
ActiveCell.Offset(1,0).Select
ActiveCell.FormulaR1C1 = "=R[-1]C"
ActiveCell.Copy
ActiveCell.Offset(1,0).Activate
Dim r1,r2 myRange as Range
Set r1 = ActiveCell
Cells.Find(What:="Grand Total", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
Set r2 = ActiveCell.Offset(-2,0).Select
Set myRange = range(r1, r2).select
* Lưu ý: Bảng dữ liệu này không cố định tại một địa chỉ nhất định. Vị trí dòng đầu tiên và tổng số dòng của bảng dữ liệu có thể thay đổi (vị trí và số lượng các cột không đổi) tuỳ theo số lượng Cost Center mình chọn.