Phần mềm ôn thi sát hạch chứng chỉ hành nghề xây dựng

Tiêu đề: [Hỏi] VBA về công thức truy suất ngược! [In trang]

Tác giả: anhnamktxd    Thời gian: 30/9/2015 18:14
Tiêu đề: [Hỏi] VBA về công thức truy suất ngược!
Chào mọi người!Mọi người cho mình hỏi chút về công thức truy suất ngược ( sử dụng tổ hợp phím CTRL + "[" ) trong VBA sử dụng thế nào với ạ?
Mình muốn tìm chính xác vị trí của ô được truy suất ngược. Ví dụ công thức ô A1 là "=A2" . Mình muốn dùng vba để tìm vị trí ô A2 khi ấn CTRL + "[" ở ô A1
Cảm ơn mọi người nha!

Tác giả: votinh3290    Thời gian: 2/10/2015 19:25
Dùng phép xử lý chuỗi có thể giải quyết được việc này
Tác giả: tranhoe    Thời gian: 3/10/2015 07:33
Nếu Bạn gửi file lên thì mình sẽ chèn macro và gán lệnh tắt cho Bạn.
Code này cho phép Bạn di chuyển đến ô mà nó lấy giá trị kể cả tại sheet khác (không có chứa công thức trong đó nhé), Bạn chép code vào file và tự tạo lệnh tắt nhé:
[Visual Basic] 纯文本查看 复制代码
Sub TimDiaChi()
    Dim DiaChi As String
    On Error GoTo Thoat
    DiaChi = ActiveCell.FormulaR1C1
    DiaChi = Right(DiaChi, Len(DiaChi)- 1)  
    Application.Goto Reference:=DiaChi
    Exit Sub
Thoat:
     MsgBox "Cell dang chon khong co lien ket, hoac lien ket phuc tap", vbOKOnly
End Sub



Tác giả: votinh3290    Thời gian: 9/10/2015 21:56
Cháu thì có cách củ chuối này, không hay lắm vì phải xử lý nhiều chuỗi quá, và nếu ở trong 1 chương trình phức tạp thì chắc chắn không nhanh bằng của chú

Sub ctrl()
    Dim StR As String, Sheetname As String, ad As String
    Dim a As Long
    On Error Resume Next
    StR = Selection.Formula
    StR = Replace(Replace(StR, "'", ""), "=", "")
    a = InStr(1, StR, "!", vbTextCompare)
    Sheetname = Left(StR, a - 1)
    ad = Right(StR, Len(StR) - a)
    Sheets(Sheetname).Select
    Range(ad).Select
End Sub





Chào mừng ghé thăm Phần mềm ôn thi sát hạch chứng chỉ hành nghề xây dựng (https://xaydung360.vn/diendan/) Powered by Discuz! X3.2