firstRow = Sheets(SheetName).Range(col & "2" & ":" & col & Rows.Count).Cells.SpecialCells(xlCellTypeConstants).Row Set rngData = ThisWorkbook.Worksheets("指数跟踪一览").Range(col & firstRow & ":" & col & lastRow) Debug.Print col Debug.Print firstRow Debug.Print lastRow '设置Sparkline绘制位置 Set sparklineLocation = ThisWorkbook.Worksheets("指数跟踪一览").Range(plot_col & i + 1) '绘制Sparkline sparklineLocation.SparklineGroups.Add xlSparkLine, rngData.Address修改上述代码,标记最高点和最低点
时间: 2024-01-12 19:03:32 浏览: 195
请尝试以下代码实现标记最高点和最低点:
```
firstRow = Sheets(SheetName).Range(col & "2" & ":" & col & Rows.Count).Cells.SpecialCells(xlCellTypeConstants).Row
Set rngData = ThisWorkbook.Worksheets("指数跟踪一览").Range(col & firstRow & ":" & col & lastRow)
'找到最高点和最低点的位置
maxRow = Application.WorksheetFunction.Match(Application.WorksheetFunction.Max(rngData), rngData, 0)
minRow = Application.WorksheetFunction.Match(Application.WorksheetFunction.Min(rngData), rngData, 0)
Debug.Print col
Debug.Print firstRow
Debug.Print lastRow
'设置Sparkline绘制位置
Set sparklineLocation = ThisWorkbook.Worksheets("指数跟踪一览").Range(plot_col & i + 1)
'绘制Sparkline并标记最高点和最低点
sparklineLocation.SparklineGroups.Add xlSparkLine, rngData.Address
sparklineLocation.SparklineGroups(1).Points(maxRow - firstRow + 1).MarkerColor = RGB(0, 255, 0) '标记最高点为绿色
sparklineLocation.SparklineGroups(1).Points(minRow - firstRow + 1).MarkerColor = RGB(255, 0, 0) '标记最低点为红色
```
其中,`maxRow` 和 `minRow` 分别是最高点和最低点在 `rngData` 中的行数,用 `Match` 函数实现。然后,通过 `SparklineGroups(1).Points` 属性找到对应的点,并设置其 `MarkerColor` 为绿色或红色,实现标记最高点和最低点的效果。
阅读全文