我有一个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属性
有什么想法吗?
此代码捕获活动窗口并将其粘贴到功率点幻灯片上,方法是通过调用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)