似乎较旧的宏不起作用.我有适当的安全设置来运行VBA宏,但是当我尝试了一些方法来清除工作表上的所有过滤器时,我收到编译错误.
这是我尝试过的:
__PRE__
我在工作表上有按钮以清除所有过滤器,以方便用户使用,因为工作表上有很多带有过滤器的列.
好的,对于那些知道Excel VBA主人的人来说,我有一个公司的下拉菜单,由另一个选项卡上的列表填充.三列,公司,工作号和部件号.
我要做的是,当创建一个作业时,我需要一个文件夹来创建所述公司,然后根据所述部件号创建一个子文件夹.所以,如果沿着这条路走下去,它会是这样的:
__CODE__
现在,如果存在公司名称或部件号,则不创建或覆盖旧的名称.转到下一步.因此,如果两个文件夹都不存在,则如果一个或两个不存在则按要求创建.
这有意义吗?
如果有人可以帮助我了解它的工作原理以及如何使其工作,我们将不胜感激.再次感谢.
另一个问题,如果不是太多,有没有办法让它在Mac和PC上运行相同?
我正在尝试使用IF子句来确定是否选中了名为"Check Box 1"的复选框,以便在我的程序中进一步使用.
我目前的代码:
Sub Button167_Click()
If ActiveSheet.Shapes("Check Box 1") = True Then
Range("Y12").Value = 1
Else
Range("Y12").Value = 0
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用,但调试告诉我有一个问题
ActiveSheet.Shapes("Check Box 1")
Run Code Online (Sandbox Code Playgroud)
但是,我知道这段代码有效(即使它有不同的用途):
ActiveSheet.Shapes("Check Box 1").Select
With Selection
.Value = xlOn
Run Code Online (Sandbox Code Playgroud)
编辑:如果需要更多信息,我的复选框(我的页面上有200个)位于sheet1中,名称为"Demande".每个Checkbox都具有相同的格式名称"Check Box ...".
所有帮助将不胜感激.谢谢
我试图从Word 2011 for Mac中的VBA宏启动一个shell脚本,该脚本将在终端窗口中运行.我尝试过使用Shell函数和MacScript函数,但在任何一种情况下,VBA解释器似乎都无法找到该脚本.
根据VBA参考文档,以下内容应该有效:
RetVal = Shell("Macintosh HD:Applications:Calculator.app", vbNormalFocus)
Run Code Online (Sandbox Code Playgroud)
这会产生运行时错误53'找不到文件'.
有什么建议?
如何bash在MAC OSX上使用VBA 运行文件
我尝试了以下代码
location = FolderPath(ThisWorkBook.FullName)
Run Code Online (Sandbox Code Playgroud)
它返回当前目录减去文件名.
其次是
Shell(location &"runmybatch.sh")
Run Code Online (Sandbox Code Playgroud)
我这样做是因为bash脚本与excel电子表格位于同一文件夹中.
您好我正在尝试列出Excel工作簿所在的子目录中的所有文件.由于某种原因,代码无法执行超出Dir函数.任何人都可以建议吗?谢谢!
Sub ListFiles()
ActiveSheet.Name = "temp"
Dim MyDir As String
'Declare the variables
Dim strPath As String
Dim strFile As String
Dim r As Long
MyDir = ActiveWorkbook.Path 'current path where workbook is
strPath = MyDir & ":Current:" 'files within "Current" folder subdir, I am using Mac Excel 2011
'Insert the headers in Columns A, B, and C
Cells(1, "A").Value = "FileName"
Cells(1, "B").Value = "Size"
Cells(1, "C").Value = "Date/Time"
'Find the next available row
r = Cells(Rows.Count, "A").End(xlUp).Row + …Run Code Online (Sandbox Code Playgroud) 我开发了一个使用的Excel 2010 VBA宏VBScript.RegExp.我的一个用户显然使用支持VBA的Excel Mac 2011,但没有VBScript.RegExp.
我看过几篇提到它的帖子可以创建你自己的RegEx函数AppleScript,可以由VBA宏调用.但是,似乎必须有Mac版本的Excel文件和Windows版本.这不太理想.
是否有另一种方法可以在VBA中实现与Windows和Mac兼容的正则表达式?
我有一个Excel VBA项目,它大量使用Windows Scripting Dictionary对象.我最近有一个用户尝试在Mac上使用它并收到以下错误:
Compile Error: Can't find project or library
Run Code Online (Sandbox Code Playgroud)
这是使用Tools > References > Microsoft Scripting Runtime库的结果.
我的问题是,有没有办法让这项工作在Mac上?
以下是我认为可能的解决方案的3个案例:
做一些如下变量开关:
isMac = CheckIfMac
If isMac Then
' Change dictionary variable to some other data type that is Mac friendly and provides the same functionality
End If
Run Code Online (Sandbox Code Playgroud)写2个完全独立的例程来做同样的事情(请让这不是需要发生的事情):
isMac = CheckIfMac
If isMac Then
DoTheMacRoutine
Else
DoTheWindowsRoutine
End If
Run Code Online (Sandbox Code Playgroud)我需要从Excel for Mac 2011向Web服务发出带有查询字符串的HTTP Get.我已经看到了使用QueryTables的答案(如何使用VBA从Excel向服务器发送HTTP POST请求?)但是使用POST方法,而不是GET方法.我也看到从Windows机器上很容易,但我被卡在了Mac上.
有什么建议,还是没有希望?
我正在尝试调试我编写的长代码,我需要逐行执行.
问题是我在Mac上,并且在这种情况下不知道如何使用F8.谁能告诉我怎么能这样做呢?我怎么知道哪条线导致执行问题?