Xin hỏi về cách xác định cell vừa mới thao tác!

Liên hệ QC

download9719

Thành viên mới
Tham gia
4/5/08
Bài viết
18
Được thích
1
Giả sử sau khi thao tác trên một cell, nhấn Enter hay Click chuột vào một cell nào đó, làm thế nào để xác định cell vừa mới thao tác vậy các bác?

※nếu không có cách nào trực tiếp, tại thời điểm trước khi qua cell khác, mình phải tự save lại cell đang thao tác, vậy xin hỏi cách lưu một cell, mình phải dùng biến gì? (Range?)

Mình có search trên diễn đàn nhưng không thấy, mong các bác chỉ giúp!
 
Giả sử sau khi thao tác trên một cell, nhấn Enter hay Click chuột vào một cell nào đó, làm thế nào để xác định cell vừa mới thao tác vậy các bác?

※nếu không có cách nào trực tiếp, tại thời điểm trước khi qua cell khác, mình phải tự save lại cell đang thao tác, vậy xin hỏi cách lưu một cell, mình phải dùng biến gì? (Range?)

Mình có search trên diễn đàn nhưng không thấy, mong các bác chỉ giúp!
Bạn nhấn tổ hợp phím Ctrl+Z sau đó nhấn tiếp Ctrl+Y xem thử được không nhé.
 
Upvote 0
Giả sử sau khi thao tác trên một cell, nhấn Enter hay Click chuột vào một cell nào đó, làm thế nào để xác định cell vừa mới thao tác vậy các bác?

※nếu không có cách nào trực tiếp, tại thời điểm trước khi qua cell khác, mình phải tự save lại cell đang thao tác, vậy xin hỏi cách lưu một cell, mình phải dùng biến gì? (Range?)

Mình có search trên diễn đàn nhưng không thấy, mong các bác chỉ giúp!

dùng sự kiện Worksheet_change, với chú ý target
và ghi lại dùng biến static hoặc biến chung (khai báo ngoài module)
hy vọng cao thủ khác giúp bạn
 
Upvote 0
>huuthang_bd:
Cám ơn bạn nhé, nhưng mình muốn hỏi cách nhận biết bằng VBA!

dùng sự kiện Worksheet_change, với chú ý target
và ghi lại dùng biến static hoặc biến chung (khai báo ngoài module)
hy vọng cao thủ khác giúp bạn
Cám ơn bạn, mình cũng nghĩ là sẽ save lại cell trong sự kiện Worksheet_change (biến sẽ là static .....), nhưng mình không biết nên dùng biến type nào (Range???), và save lại thế nào?+-+-+-+
 
Upvote 0
Mình dùng Name để lưu vị trí lần cuối đã thao tác được không!
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveWorkbook.Names.Add Name:="Lancuoi", RefersToR1C1:="=" & """" & Target.Address(0, 0) & """"
End Sub
Thân.
 

File đính kèm

Upvote 0
Mình dùng Name để lưu vị trí lần cuối đã thao tác được không!
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveWorkbook.Names.Add Name:="Lancuoi", RefersToR1C1:="=" & """" & Target.Address(0, 0) & """"
End Sub
Thân.

Cảm ơn bác! Cho mình hỏi thêm:

Nếu dùng Name để lưu vị trí lần cuối, sau đó khi cần truy cập, mình dùng
thế nào? (Range("Name")?)、bác chỉ luôn giúp!
※Thêm nữa, giả sử đặt xong Name, khi muốn truy xuất cell bên cạnh cell đã thao tác (cell bên phải chẳng hạn), thì mình phải dùng thế nào?
 
Upvote 0
Để lấy giá trị của name thì dùng lệnh: Evaluate("lancuoi") 'dung trong vba Bạn dùng công thức để lấy giá trị cell bên cạnh: =OFFSET(INDIRECT(Lancuoi),,1) Thêm cho bạn cách dùng trong VBA luôn!
PHP:
Sub thu() k = Evaluate("lancuoi") b = Range(k).Offset(, 1).Resize(, 1).Address(0, 0) MsgBox (b) End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Để lấy giá trị của name thì dùng lệnh:
Evaluate("lancuoi") 'dung trong vba

Bạn dùng công thức để lấy giá trị cell bên cạnh:
=OFFSET(INDIRECT(Lancuoi),,1)

Thêm cho bạn cách dùng trong VBA luôn!
PHP:
Sub thu()
k = Evaluate("lancuoi")
b = Range(k).Offset(, 1).Resize(, 1).Address(0, 0)
MsgBox (b)
End Sub

Mấy bữa nay có việc (công tác) mình chưa lên xem được, thành thật xin lỗi các bác!
Cám ơn bác Po_Pikachu !

Cho mình hỏi thêm một tí!
Xin quay lại một chút về câu hỏi đầu tiên:
"Giả sử sau khi thao tác trên một cell, nhấn Enter hay Click chuột vào một cell nào đó, làm thế nào để xác định cell vừa mới thao tác vậy các bác?"
→Để xác định cell vừa thao là cell nào thì phải làm thế nào?
(thêm nữa, để xét cell vừa thao tác có nằm trong vùng mình đang xét hay không (vd: có nằm trong Column B hay không chẳng hạn...)
Mong các bác chỉ giúp!
 
Lần chỉnh sửa cuối:
Upvote 0
'bạn khai báo phía trên cùng:
Dim PreCell as Range
'và trong
Worksheet_SelectionChange(ByVal Target As Range)
'đặt lệnh
Set Precell = Target
End Sub
'là xong
'nếu muốn ghi nhận lại row hay column thì thay vì khai báo PreCell bạn khai báo 2 biến PreRow và PreCol và trong selection_change gán PreRow = Target.Row, PreCol = Target.Column
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom