我有一个包含7个相同工作表的电子表格,只显示略有不同的数据。它是数据和图表的混合体,每个单元格通过一系列索引匹配引用我的“输出”表。我只是想让它删除我的7个工作表中每个单元格(ii,2)掉落的行(输出工作表中此特定数据点没有数据)。我每张纸上的最后一行数据是212,我一直希望它引用单元格(ii,2)-每行的第二列数据点。因为有带有图表的块而没有数据,所以我不能使用End Xlup方法
我有以下代码:
Dim lr As Long
Dim sh As Integer
Dim ii As Long
lr = Cells(212, 2)
For sh = 1 To Worksheets.Count
For ii = lr To 1 Step -1
If Worksheets(sh).Cells(ii, 2) = CVErr(xlErrNA) Then
Worksheets(sh).Rows(ii).EntireRow.Delete
End If
Next ii
Next sh
它运行正常,但是什么也没做,我不知道为什么
答案 0 :(得分:0)
除了上面的注释,您不能直接检查特定类型的错误,首先需要检查单元格是否根本包含任何错误,以避免类型不匹配的错误。没有此错误表明您的循环根本没有运行。
import numpy as np
from numpy.lib.stride_tricks import as_strided
def ra_strides(arr, window):
''' Running average using as_strided'''
n = arr.shape[0] - window + 1
arr_strided = as_strided(arr, shape=[n, window], strides=2*arr.strides)
return arr_strided.mean(axis=1)
def ra_add(arr, window):
''' Running average using add.reduceat'''
n = arr.shape[0] - window + 1
indices = np.array([0, window]*n) + np.repeat(np.arange(n), 2)
arr = np.append(arr, 0)
return np.add.reduceat(arr, indices )[::2]/window