3 개의 컬럼 테이블이 있습니다. 두 개의 열은 산점도를 생성하는 데 사용되는 xy 값을 제공합니다. 세 번째 열에는 하이퍼 링크가 있습니다. 따라서 각 행에는 x 값, y 값 및 하이퍼 링크가 포함됩니다 (각 링크는 고유합니다). 엑셀 분산 형 플롯에서 데이터 포인트를 클릭하면 해당 하이퍼 링크의 셀 주소를 어떻게 얻을 수 있습니까?Excel 분산 형 플롯에서 데이터 점을 클릭하여 셀 주소를 얻는 방법은 무엇입니까?
0
A
답변
1
이 작업을 수행하는 한 가지 방법은 명명 된 범위에 하이퍼 링크 열을 포함시키는 것입니다. 그때 그들은 차트에서 그들을 참조 할만큼 충분히 직선적입니다.
당신이 묻는 것은 확실하지 않지만 데이터 포인트를 클릭하면 Y 값/셀 옆의 셀에있는 값의 메시지 상자가 나타납니다.
이 작업을 수행하는 한 가지 방법은 명명 된 범위에 하이퍼 링크 열을 포함시키는 것입니다. 그때 그들은 차트에서 그들을 참조 할만큼 충분히 직선적입니다. 별도의 차트 워크 시트에 차트가있는 경우
는 다음 (차트 워크 시트 모듈에 포함 된) 다음 코드를 사용할 수 있습니다 차트가 단지 보통의 워크 시트에 포함 된 경우
Private Sub Chart_MouseUp(ByVal Button As Long, ByVal Shift As Long, ByVal x As Long, ByVal y As Long)
Dim lngElementID As Long
Dim lngArg1 As Long
Dim lngArg2 As Long
'Only catch Left-Clicks
If Button = xlPrimaryButton Then
With ActiveChart
'Get the coordinates of what has been clicked
call .GetChartElement(x, y, lngElementID, lngArg1, lngArg2)
If lngElementID = xlSeries Then
If lngArg2 > 0 Then
'Range containing the messages to be displayed
Set varRange = Worksheets("Sheet1").[ChartURLs]
Call MsgBox(CStr(varRange(lngArg2, 1)))
End If
End If
End With
End If
End Sub
을,이 WithEvents를 사용하여 Chart 이벤트를 포착해야하므로 더 많은 작업이 필요합니다. 새 클래스 모듈에 다음 코드를 추가하십시오.
Option Explicit
Public WithEvents chartEvents As Chart
Private m_rngPopupMsgs As Range
Private Sub chartEvents_MouseUp(ByVal Button As Long, ByVal Shift As Long, ByVal x As Long, ByVal y As Long)
Dim lngElementID As Long
Dim lngArg1 As Long
Dim lngArg2 As Long
Dim varRange As Variant
'Only catch Left-Clicks
If Button = xlPrimaryButton Then
With ActiveChart
'Get the coordinates of what has been clicked
.GetChartElement x, y, lngElementID, lngArg1, lngArg2
If lngElementID = xlSeries Then
If lngArg2 > 0 Then
If Not (m_rngPopupMsgs Is Nothing) Then
Set varRange = m_rngPopupMsgs
Call MsgBox(CStr(varRange(lngArg2, 1)))
End If
End If
End If
End With
End If
End Sub
Public Property Get PopupMsgs() As Range
Set PopupMsgs = m_rngPopupMsgs
End Property
Public Property Set PopupMsgs(rngPopupMsgs As Range)
Set m_rngPopupMsgs = rngPopupMsgs
End Property
Private Sub Class_Terminate()
Set m_rngPopupMsgs = Nothing
End Sub
그런 다음 새 코드 모듈을 추가하고 다음 코드를 추가하십시오. "ChartURLs 교체"다음과 같이
Option Explicit
Private m_objChtEvents As New clsChartEvents
Public Sub SelectChart(ByRef wks As Worksheet, ByRef rngPopupMsgs As Range)
Dim objChart As Chart
If wks.ChartObjects.Count > 0 Then
Set m_objChtEvents = New clsChartEvents
Set objChart = wks.ChartObjects(1).Chart
Set m_objChtEvents.chartEvents = objChart
Set m_objChtEvents.PopupMsgs = rngPopupMsgs
End If
End Sub
워크 시트의 워크 시트 모듈이 차트를 포함, 당신은 SelectChart()는 Worksheet_Activate 이벤트에서 절차 (또는 원하는대로의 다른 이벤트)에 대한 호출을 추가 할 필요가 당신의 범위의 이름 :
Option Explicit
Private Sub Worksheet_Activate()
Call SelectChart(Me, Range("ChartURLs"))
End Sub
는 희망이 당신이 다음 적어도 좋은 시작해야하지 않을 경우, 찾고있는 물건의 일종이다.
관련 문제
- 1. 정확히 코어 플롯에서 분산 형 플롯이란 무엇입니까?
- 2. matlab : 클릭하여 플롯에서 점을 선택하기위한 인터페이스
- 3. 분산 형 플롯에서 기호로 값을 플롯하는 가장 쉬운 방법은 무엇입니까?
- 4. 분산 형 플롯에서 이름 표면이 축으로 나타나는 이유는 무엇입니까?
- 5. JFreeChart 분산 형 플롯에서 가장 가까운 마우스 포인트를 찾는 방법은 무엇입니까?
- 6. 코어 플롯 - 분산 형 플롯에서 극히 작은 수를 플롯
- 7. matlab - roipoly를 사용하여 분산 형 플롯에서 데이터를 가져올 수 있습니까?
- 8. coreplot : 분산 형 플롯에서 누락 된 선 점 합치기
- 9. Excel 2007 : Excel에서 데이터 유효성 시트 셀
- 10. 파이썬에서 쓰는 분산 형/분산 형 소켓
- 11. MATLAB 플롯에서 값으로 점을 표시
- 12. MATLAB 플롯에서 점을 어떻게 표시합니까?
- 13. R에 분산 형 플롯을 추가하는 방법은 무엇입니까?
- 14. 하위 프로세스의 진입 점을 얻는 방법은 무엇입니까?
- 15. 데이터 계열로 변환하지 않고 xy 분산 형 그래프의 시간 데이터를 사용하는 Excel의 분산 형 플롯
- 16. Excel : 셀 색상 얻기
- 17. 코어 플롯에서 포인트가 터치 된 시점의 정보를 얻는 방법은 무엇입니까?
- 18. 3D 플롯에서 데이터 선택
- 19. ggplot2 분산 형 레이블
- 20. PowerShell - 분산 형 솔루션
- 21. 테이블 셀 클릭하여 pickerview 데이터 변경
- 22. R - 분산 형 그래프, 다른 선의 점을 겹치게 표시하는 방법은 무엇입니까?
- 23. AS3에서 두 개의 점을 얻는 방법은 무엇입니까?
- 24. 분산 형 캐싱 도움말
- 25. 대화 형/동적 표 셀
- 26. Excel 분산 형 플롯의 각 데이터 요소 또는 데이터 레이블에 웹 페이지 링크 추가
- 27. 파이썬에서 Excel 셀 속성을 얻는 방법
- 28. VBA 생성 된 Excel 플롯에서 마커 그림자 끄기
- 29. 분산 형 차트 수식
- 30. PHP를 사용하여 MAC 주소를 얻는 방법은 무엇입니까?