我有一个可执行文件,我使用shell命令调用:
Shell (ThisWorkbook.Path & "\ProcessData.exe")
Run Code Online (Sandbox Code Playgroud)
可执行文件执行一些计算,然后将结果导出回Excel.我希望能够在导出后更改结果的格式.
换句话说,我首先需要Shell命令等待,直到可执行文件完成其任务,导出数据,然后执行下一个格式化命令.
我试过了Shellandwait(),但没有太多运气.
我有:
Sub Test()
ShellandWait (ThisWorkbook.Path & "\ProcessData.exe")
'Additional lines to format cells as needed
End Sub
Run Code Online (Sandbox Code Playgroud)
不幸的是,格式化仍然在可执行文件完成之前进行.
仅供参考,这是我使用ShellandWait的完整代码
' Start the indicated program and wait for it
' to finish, hiding while we wait.
Private Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32.dll" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccessas …Run Code Online (Sandbox Code Playgroud) 我在Cell A1中有这个简单的公式
=10*Round(B1/10,0)
Run Code Online (Sandbox Code Playgroud)
我知道如何在VBA中输入,我只需写:
Range("A1").Formula = "=10*Round(B1/10,0)"
Run Code Online (Sandbox Code Playgroud)
现在,如果我不知道我要编号的单元格怎么办?换句话说,我的代码中有一个整数变量N,它可以采用多个值,我想要对B列的行号N中的数字进行舍入.
我怎么写这个?我试过了:
Range("A1").Formula = "=10*Round(B" & N & " & "/10",0)"
Run Code Online (Sandbox Code Playgroud)
但这不起作用.为引号尝试了多个布局但没有成功.
任何人都可以让我知道:
谢谢
我有一张带有图表的表格.我需要插入一个按钮来打开/关闭Trendline.首先,我需要检查趋势线是否存在.听起来很简单,但正在推动我坚果!
这是我用来创建trednline并对其进行格式化的代码:
Sub Trending()
Sheets("Sheet1").ChartObjects(1).Activate
ActiveChart.SeriesCollection(1).Trendlines.Add
ActiveChart.SeriesCollection(1).Trendlines(1).Select
With Selection
.Type = xlPolynomial
.Order = 3
.Border.ColorIndex = 3
.Border.Weight = xlMedium
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
为了检查趋势线的存在,我试过:
If Sheets("Sheet 1").ChartObjects(1).SeriesCollections(1).Trendlines(1).Count = 1 Then
[Statement]
End If
Run Code Online (Sandbox Code Playgroud)
但测试失败了.
我究竟做错了什么?什么是非脏的方式呢?
谢谢,Al
我的VBA代码中有一个简单的输入框。我想设定它的起始位置。我知道参数[LEFT]和[TOP]应该可以,但是它们不起作用。
这是我所拥有的:
x = Application.InputBox(MyPrompt, MyTitle, , 50, 50)
Run Code Online (Sandbox Code Playgroud)
这是函数语法
InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextId, Type)
Run Code Online (Sandbox Code Playgroud)
(我将第三个参数[DEFAULT]留为空白)。
无论我为LEFT和TOP使用什么数字,输入框始终在同一位置开始。怎么了