我试图简单地计算具有背景颜色的列中的所有单元格。任何颜色都无关紧要。我使用了这个代码的模块:
Function CountCcolor(range_data As Range) As Long
Dim datax As Range
For Each datax In range_data
If datax.Interior.ColorIndex <> xlNone Then
CountCcolor = CountCcolor + 1
End If
Next datax
End Function
当我第一次应用公式时,这种方法很有效。当我更改填充表时,它不再响应。每次用户编辑单元格时,如何区分此功能?
答案 0 :(得分:0)
您可以在相关的 Worksheet_Change 事件中使用以下代码刷新整个工作簿:
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.tri as mtri
a_x = [1,2,3]
a_y1 = [1,2,1]
a_y2 = [4,5,6]
# Triangulate parameter space to determine the triangles
tri = mtri.Triangulation(a_x, a_y1)
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1, projection='3d')
# The triangles in parameter space determine which x, y, z points are
# connected by an edge
ax.plot_trisurf(a_x, a_y1, a_y2, triangles=tri.triangles, cmap=plt.cm.Spectral)
plt.show()
答案 1 :(得分:0)
没有通过填充单元格触发的事件。因此,我建议使用以下工作表宏
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Sh.Calculate
End Sub
除了你的宏。推理:填充范围后,您将(最终)选择该工作表上的其他单元格。此时,重新计算总和。它并不理想,因为它没有更新 而 您正在选择范围,而且可能是计算密集型。