Hỏi cách tìm vị trí con trỏ ô của sheet trước

Liên hệ QC

nncb2008

Thành viên chính thức
Tham gia
14/2/08
Bài viết
88
Được thích
3
Chào các bác, em không biết nên đặt chủ đề câu hỏi thế nào cho dễ hiểu, nhưng cụ thể là như thế này: Em đang ở ô A5 của sheet1, em chọn sheet2. Khi ở sheet2 em muốn biết trước khi sang sheet này thì em đã ở ô nào của sheet1 (Ở ví dụ này là A5). Các bác giúp em nha.
 
Mình chưa tìm ra cơ chế lưu địa chỉ ô active của từng sheet ra sao. Thôi thì, tạm tham gia code "nhòm trộm" để trả lời này vậy (Ở bất cứ trang nào nhấn Ctrl+m sẽ có trả lời)

Mã:
Sub diachi()
Dim rng As Range
Dim sh As Worksheet
Set sh = ActiveSheet
Application.ScreenUpdating = False
Sheet1.Activate
Set rng = ActiveCell
sh.Activate
Application.ScreenUpdating = True
MsgBox rng.Address
Set rng = Nothing
Set sh = Nothing
End Sub
 

File đính kèm

Upvote 0
Chưa ngon đâu các bạn ơi. Mình phải tìm ra cái chỗ lưu những giá trị hiện trạng của file cơ. Ví dụ khi mở file thì chắc chắn nó sẽ active cái sheet đang hoạt động trước khi đóng. Khi active 1 sheet nó sẽ chuyển focus đến cell active trước đây, riêng thêm 1 sheet nó không có cell active cũ nên nó trả về ô A1. Khi trả lời được vấn đề này thì vấn đề của Topic mới ngon được.
 
Upvote 0
Chưa ngon đâu các bạn ơi. Mình phải tìm ra cái chỗ lưu những giá trị hiện trạng của file cơ. Ví dụ khi mở file thì chắc chắn nó sẽ active cái sheet đang hoạt động trước khi đóng. Khi active 1 sheet nó sẽ chuyển focus đến cell active trước đây, riêng thêm 1 sheet nó không có cell active cũ nên nó trả về ô A1. Khi trả lời được vấn đề này thì vấn đề của Topic mới ngon được.
Tạo 1 name và lưu địa chỉ vào name đó qua sự kiện Deactivate là được mà.
 
Upvote 0
Chào các bác, em không biết nên đặt chủ đề câu hỏi thế nào cho dễ hiểu, nhưng cụ thể là như thế này: Em đang ở ô A5 của sheet1, em chọn sheet2. Khi ở sheet2 em muốn biết trước khi sang sheet này thì em đã ở ô nào của sheet1 (Ở ví dụ này là A5). Các bác giúp em nha.

Mình có cách làm khác, xem File đính kèm coi được chưa bạn.

PHP:
Private LastAdd As String

Private Sub Workbook_Open()
    If ActiveSheet.Name = Sheets(1).Name Then LastAdd = ActiveCell.Address
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If ActiveSheet.Name = Sheets(2).Name Then _
        MsgBox "O vua chon o Sheet1 la : " & Replace(LastAdd, "$", "")
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    If ActiveSheet.Name = Sheets(1).Name Then LastAdd = Target.Address
End Sub
File ở đây, nhớ Enables Macro.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom