小编And*_*ohr的帖子

Excel VBA - 如何确定数据透视表中的行标签字段数?

我有一个Excel 2010数据透视表,最初包含3个行标签字段.

我需要创建一个宏,将某个字段添加为数据透视表中的最低行标签字段.(由于我不打算进入的原因,用户无法以正常方式自行添加此字段.)

但是,当用户运行此宏时,他们可能已添加或删除了某些行标签.

当我在数据透视表的最低位置添加一个字段(已经选择了3个行标签)时,宏录制器会给我这个:

With ActiveSheet.PivotTables("MyPivotTable").PivotFields("MyNewField")
    .Orientation = xlRowField
    .Position = 4
End With
Run Code Online (Sandbox Code Playgroud)

如果用户添加或删除了某些项目,则此位置编号4不正确.如何将正确的位置编号传递给我的代码?

试图瞄准高使用率Position = 99给我以下错误:

无法设置PivotField类的Position属性

有什么想法吗?

excel vba pivot-table excel-vba excel-2010

4
推荐指数
1
解决办法
2万
查看次数

在vba powerpoint中按键时调用Sub

此代码捕获活动窗口并将其粘贴到功率点幻灯片上,方法是通过调用a来粘贴数字屏幕截图sub PrintScreen,之后需要5秒钟来捕获活动窗口的屏幕.虽然我希望每当我按下像'F7或F3等'的特定键时,它应该采用打印屏幕而不是等待5秒钟.我只想按下键并调用sub,其中我指定了打印和粘贴以及其他功能.

Sub Screen_Capture_VBA()
 Dim Sec4 As Date
 MsgBox "Note: Three seconds after you click OK " & _
 "the active window will be copied to the clipboard."
 Sec4 = DateAdd("s", 4, Now)
 myValue = InputBox("Give me no of screen shots you want to capture")
 For I = 1 To myValue
 PrintScreen
 Next I
End Sub
Run Code Online (Sandbox Code Playgroud)

这是我的打印屏幕子.

Sub PrintScreen()

Sleep 5000
keybd_event VK_MENU, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0
keybd_event VK_MENU, …
Run Code Online (Sandbox Code Playgroud)

vba keyboard-shortcuts powerpoint-vba

2
推荐指数
1
解决办法
7886
查看次数