- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道 sendkey 被认为是不好且危险的,但我正在努力找出与前端 Excel 相比如何最好地处理 VBA 中的问题。
我编写了一个个人宏,用于设置未知的数据透视表以重复所有标签,设置为表格,对字段列表进行升序排序,最后隐藏小计。除了小计需要循环之外,一切工作正常,并且当数据量很大时,此循环可能需要很长时间。奇怪的是,如果您只是从前端控件关闭小计,它是即时的。因此,使用 Sendkey 会比实际循环更快。 (Sendkey 正在按下热键来执行关闭小计)
Sub formatpivotTable()
Dim pivotName As Variant
Dim pf As pivotField
On Error Resume Next
pivotName = ActiveCell.PivotTable.Name
If pivotName = "" Then
MsgBox "You did not select a pivot table"
Exit Sub
End If
ActiveSheet.PivotTables("" & pivotName & "").ManualUpdate = True
With ActiveSheet.PivotTables("" & pivotName & "")
.RepeatAllLabels (xlRepeatLabels)
.RowAxisLayout (xlTabularRow)
.FieldListSortAscending = True
'For Each pf In .PivotFields
' pf.Subtotals(1) = True
' pf.Subtotals(1) = False
'Next
End With
ActiveSheet.PivotTables("" & pivotName & "").ManualUpdate = False
'Remove the Loop and instead use the Front End Hotkey
ActiveSheet.Activate 'Normally using activate is bad, but maybe it's good here to ensure your sendkeys hit excel? not even sure this prevents it
Application.SendKeys "%", True
Application.SendKeys "{J}", True
Application.SendKeys "{Y}", True
Application.SendKeys "{T}", True
Application.SendKeys "{D}", True
End Sub
当它工作时,它工作得很漂亮。整个事情在不到一秒钟的时间内完成。但我觉得如果出现问题,您的发送 key 仍然存在用“JYTD”覆盖枢轴信息的危险。我已经注释掉了原来的循环,它在处理大量数据时花费的时间太长。
有什么想法吗?我只是不耐烦使用循环方法吗?
最佳答案
不,你没有不耐烦!如果您使用的是 2007 或更高版本,请使用:
Application.CommandBars.ExecuteMso "PivotTableSubtotalsDoNotShow"
关于VBA使用Sendkey执行Excel热键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35320766/
我想要类似于以下伪代码的东西: while input is not None and timer = 5: print "took too long" else: print inp
如何将 MainEngine Observable 转换为 Cold?来自这个例子: public IObservable MainEngine { get
自从手表被发明以来,表盘的方圆之争就始终没有停下来过,在漫长的岁月中,无论是方形还是圆形表盘,人们都为其寻找到足够多的设计元素,让其肆意成长,这种生机与活力后来也延续到了智能手表上,在2014年,这
我正在学习 CUDA,试图解决一些标准问题。例如,我正在使用以下代码求解二维扩散方程。但我的结果与标准结果不同,我无法弄清楚。 //kernel definition __global__ void
我的 Web 应用程序使用 native dll 来实现其部分功能(其位置在 PATH 中提供)。一切正常,直到我对 WAR 进行更改并且 JBoss 热部署此 WAR。此时dll已经找不到了,需要手
我看到这个问题here 。这是关于实现每个发出的项目的延迟。这是根据accepted answer如何实现的: Observable.zip(Observable.range(1, 5) .g
我最近一直在进行冷迁移...这意味着我无法在进行迁移时从应用程序级别读取/写入数据库(维护页面)。 这样就不会因为更改结构而发生错误,而且如果负载很大,我也不希望 mysql 在迁移过程中崩溃。 我的
我是一名优秀的程序员,十分优秀!