hỏi về RefEdit

Liên hệ QC

thuyyeu99

Trùm Nhiều Chuyện
Tham gia
6/6/08
Bài viết
1,729
Được thích
875
nhờ các anh chị trong GPE hướng dẫn em cách bỏ tên sheet và lấy địa chỉ của ô trong RefEdit

ví dụ Sheet có tên là

'1-2345'!$A$2:$A$20

Cám ơn các anh chị
 
Lần chỉnh sửa cuối:
nhờ các anh chị trong GPE hướng dẫn em cách bỏ tên sheet và lấy địa chỉ của ô trong RefEdit

ví dụ Sheet có tên là

'1-2345'!$A$2:$A$20

Cám ơn các anh chị

Theo mình thì đâu cần phải bỏ tên sheet làm gì đâu.
Bạn thử xem VD này nha. Insert một RefEdit tren form và paste code sau vào. Sau khi chọn vùng xong thì doubleclick vào Ref để test nha
PHP:
Private Sub RefEdit1_DblClick(Cancel As Boolean)
Dim Rng As Range
Set Rng = Range(RefEdit1)
MsgBox Rng.Address
End Sub
 
Upvote 0
Theo mình thì đâu cần phải bỏ tên sheet làm gì đâu.
Bạn thử xem VD này nha. Insert một RefEdit tren form và paste code sau vào. Sau khi chọn vùng xong thì doubleclick vào Ref để test nha
PHP:
Private Sub RefEdit1_DblClick(Cancel As Boolean)
Dim Rng As Range
Set Rng = Range(RefEdit1)
MsgBox Rng.Address
End Sub
Cái em muốn láy là những con số của ô địa chỉ đó anh
RefEdit.value
 
Upvote 0
Nếu bạn muốn lấy cả địa chỉ của ô thì có thể dùng hàm split
DiaChi=Split(RefEdit1.Value,"!")(1)
Còn nếu muốn lấy dòng và cột thì lợi dụng luôn thuộc tính của Range
Dong = Range(RefEdit1.Value).Row
Cot = Range(RefEdit1.Value).Column
 
Upvote 0
Nếu bạn muốn lấy cả địa chỉ của ô thì có thể dùng hàm split
DiaChi=Split(RefEdit1.Value,"!")(1)
Còn nếu muốn lấy dòng và cột thì lợi dụng luôn thuộc tính của Range
Dong = Range(RefEdit1.Value).Row
Cot = Range(RefEdit1.Value).Column

Nếu bạn muốn lấy chỉ số dòng cột của một cell thì ok, nhưng nếu là một vùng thì sai mất rồi.
Nếu muốn trả về số dòng và số cột có trong RefEdit thì :
PHP:
Dong = Range(RefEdit1.Value).Rows.count
Cot = Range(RefEdit1.Value).Columns.count
 
Upvote 0
Tất nhiên là cell rồi.
Để trả lời đúng yêu cầu của thuyyeu99 "Cái em muốn láy là những con số của ô địa chỉ đó anh"
Số_đầu = Range(RefEdit1.Value).Row
Số_Sau = Range(RefEdit1.Value).Rows.Count + Số_đầu - 1
 
Upvote 0
Tất nhiên là cell rồi.
Để trả lời đúng yêu cầu của thuyyeu99 "Cái em muốn láy là những con số của ô địa chỉ đó anh"
Số_đầu = Range(RefEdit1.Value).Row
Số_Sau = Range(RefEdit1.Value).Rows.Count + Số_đầu - 1

Chưa chắc đâu, vì bạn xem chổ này. Biết cell nào mà chọn chứ. Chờ ý kiến của tác giả thôi
 
Upvote 0
ý của em hỏi là có cách nào khi ta chọn sheet 1-2345!$A$2:$A$20 thì trong RefEdit sẽ thể hiện A2:A20
Không hiểu rõ lắm mục đích của bạn dùng để làm gì, cứ làm theo yêu cầu của bạn vậy
PHP:
Private Sub RefEdit1_Change()
RefEdit1.Value = Replace(Replace(RefEdit1, ActiveSheet.Name & "!", ""), "$", "")
End Sub
 
Upvote 0
Không hiểu rõ lắm mục đích của bạn dùng để làm gì, cứ làm theo yêu cầu của bạn vậy
PHP:
Private Sub RefEdit1_Change()
RefEdit1.Value = Replace(Replace(RefEdit1, ActiveSheet.Name & "!", ""), "$", "")
End Sub

em cũng dùng hàm replace giống như anh vậy nhưng tại vì tên sheet đặt là 1-2345 thì vô RefEdit nó lại thể hiện là '1-2345'!. như vậy chắc phải Replace(RefEdit1, "'", "")
 
Upvote 0
Bạn làm thế cũng được hoặc Replace(Split(RefEdit1,"!")(1),"$","")
 
Upvote 0
Tôi thấy thế này xem bộ chắc bắp hơn:
PHP:
Private Sub RefEdit1_Change()
  With RefEdit1
    .Value = Range(.Value).Address(0, 0)
  End With
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Hơ hơ, ndu kiếm đâu ra cái quái dị thế nhỉ nhưng lại có vấn đề không ổn đó là sau khi chọn vùng rồi, hiển thị theo đúng yêu cầu rồi, nếu chỉnh sửa trực tiếp trong RefEdit hoặc xóa hẳn đi và chọn lại vùng thì lại không ra kết quả như như ban đầu nữa và rất hay bị lỗi ép excel phải thoát mà không hề có thông báo gì. Vậy là sao nhỉ.
 
Upvote 0
Hơ hơ, ndu kiếm đâu ra cái quái dị thế nhỉ nhưng lại có vấn đề không ổn đó là sau khi chọn vùng rồi, hiển thị theo đúng yêu cầu rồi, nếu chỉnh sửa trực tiếp trong RefEdit hoặc xóa hẳn đi và chọn lại vùng thì lại không ra kết quả như như ban đầu nữa và rất hay bị lỗi ép excel phải thoát mà không hề có thông báo gì. Vậy là sao nhỉ.
Cái đó do CHANGE mà ra... hiển thị sao cũng được, quan trọng là khi ta "lấy ra" nó chính xác là được rồi!
Đơn gián vì .Address đâu có lấy tên sheet
 
Upvote 0
Web KT

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

Back
Top Bottom