Đưa giá trị của 1 điểm trên đồ thị vào VBA

Trạng thái
Không mở trả lời sau này.

MINH TRAN

Yêu THVBA
Tôi có 1 biểu đồ cột, khi tôi chọn một điểm trên biểu đồ, lúc này code VBA sẽ có câu lệnh, ví dụ:
Mã:
ActiveChart.FullSeriesCollection(1).Points(2).Select
Bây giờ tôi muốn lấy Giá trị X, Y của Points(2) này, thì code của tôi phải như thế nào ?
Nhờ các bạn chỉ giáo.
Rất cảm ơn
 
T

thanhphong

Guest
Không có file demo, không có hình ảnh minh họa, thật sự rất khó đoán vấn đề của bạn là gì?
Bạn có thể cung cấp file demo và hình ảnh diễn giải được không?
File demo có thể upload lên google drive rồi kéo về đây.
Cách upload hình ảnh lên diễn đàn thì bạn tham khảo ở đây:
 

MINH TRAN

Yêu THVBA
Bạn cần đăng nhập để thấy hình ảnh

Do Tôi không biết cách up file lên, nên up hình lên như Bạn hướng dẫn.
Mục tiêu của Tôi như sau: chọn 1 điểm trên biểu đồ (chẳng hạn điểm (04/07/20, 1028)), thì trên bảng dữ liệu sẽ tô đậm (hoặc đổi màu) 2 ô A4 và B4 tương ứng với điểm chọn đó.
Cảm ơn Bạn nhé !
 

snow26

Yêu THVBA
Bạn upload file demo lên google drive để chế độ chia sẻ bất kỳ ai, rồi kéo link về diễn đàn đi bạn.
 

tuhocvba

Administrator
Thành viên BQT
Lần sau bạn nên cung cấp file demo để thuận lợi cho mọi người khi hỗ trợ code nhé.
Muốn thử code phải có data demo.
Video thuyết minh:
Bạn cần đăng nhập để thấy đa phương tiện
Code :
Mã:
Sub Test1()
    Dim myPoint As Point
    Dim myFormula As String
    Dim myPDLname As String
    Dim myWsName As String
    Dim x As String
    Dim y As String
    Dim n As Integer

    If TypeName(Selection) <> "Point" Then Exit Sub
    If TypeName(Selection) = "Point" Then
        Set myPoint = Selection
        myFormula = myPoint.Parent.Formula
        With myPoint
            .HasDataLabel = True
            myPDLname = myPoint.DataLabel.Name
            .HasDataLabel = False
        End With
        n = Split(myPDLname, "P")(1)
        x = Split(myFormula, ",")(1)
        y = Split(myFormula, ",")(2)
        myWsName = Split(x, "!")(0)
    End If
    MsgBox myWsName & "!" & Range(x)(n).Address & ":" & Range(y)(n).Address
    Sheets(myWsName).Select
    Sheets(myWsName).Range(Range(x)(n), Range(y)(n)).Select
End Sub
File demo:

Nguồn tham khảo :
 

NhanSu

SMod
Thành viên BQT
@MINH TRAN vấn đề của bạn khá hay. Mình thấy có hướng dẫn và cho tải file đáp ứng yêu cầu của bạn. Ý tưởng là tạo class chart và viết thủ tục sự kiện.
 

MINH TRAN

Yêu THVBA
Đúng ý Tôi rồi, trang Peltiertech.com hướng dẫn cũng rất dễ hiểu và hay.

Rất cảm ơn các bạn,
 
D

Deleted member 208

Guest
Đúng ý Tôi rồi
Hơn bố tướng thiên hạ.
Câu đầu tiên theo tôi nên là: Tôi xin lỗi vì đã gây phiền hà cho mọi người, tôi đã không đưa file demo lên-Nhưng mà bạn lại không nói được.

Tuy là câu xin lỗi xã giao, vì bạn cũng không mất gì, các cụ bảo lời nói không mất tiền mua.
Từ khi post câu hỏi tới lúc phản hồi là mấy ngày, không giải thích lý do, xin lỗi tôi đã phản hồi chậm vì bận việc, ví dụ: mẹ chết hay bố chết.

Nhờ như thế này làm gì có lần thứ hai nữa bạn ơi.

Tôi thấy Admin với Smod hiền lành tử tế đấy, phải tôi, tôi táng cho mấy phát, cho bay nick, tôi năm nay hơn 70 tuổi, mà tôi chưa gặp trường hợp nào nó như thế này.
 

Euler

Administrator
Thành viên BQT
Admin với Smod còn chưa lên tiếng mà bạn đã "cầm đèn chạy trước oto". Xét thấy đóng góp của bạn cho diễn đàn cũng nhiều, nên mình chỉ delete nick , tạo điều kiện cho bạn tái tham gia lại.
Nhân đây mình có vài lời với bạn @MINH TRAN : Tôi không có quyền phán xét bạn như nào, mà chỉ đơn giản mối quan hệ giữa con người với con người trong cuộc sống này, thì nên cư xử như thế nào cho nó lịch sự khi mình đi nhờ vả sự giúp đỡ. Lời nói có mất gì đâu.
 
Trạng thái
Không mở trả lời sau này.
Top