天道酬勤,学无止境

excel-2011

"Object doesn't support this action" for a drop down menu in Excel 2011 (Mac OS X)

I have a big Excel Workbook made with Office 2010 with some VBA code. Everything seems to work fine apart the drop down menus. Precisely, they work, graphically, but Me.Shapes("Drop Down 1").ControlFormat throws an "Object doesn't support this action" error (I am sure that "Drop Down 1" is the correct name, etc.), precisely, it gets referenced correctly (e.g. shape = Me.Shapes(1) works) but it doesn't seem to like ControlFormat. Google doesn't help much; any suggestions? I'm quite new to VBA so there might be some trivial debugging witchcraft I'm not aware of. EDIT: I tried creating a new

2022-01-18 12:29:19    分类:问答    excel   vba   macos   excel-2011

VBA - 搜索和删除重复项(VBA - Search and remove duplicates)

问题 我正在寻找一种我没有 VBA 知识来编写自己脚本的算法。 所以我被困住了。 这不是因为缺乏努力尝试,因为我已经尝试过了(另外,这段代码是我更大的 VBA 代码的最后一部分)我只是缺乏知识/经验/技能...... 基本上,我有一个 Excel 文件。 在这个文件中有一个工作表,“sheet1”。 Sheet1 包含多行数据。 sheet1 中包含的行数可以在 1 到 n 之间变化。 有时,我可能有 50 个,而有时我可能有 30 个,等等。一致的是本书的布局,即我在 A 列中有代码,用于标识数据库中的产品。 我想做的是: 1.扫描工作表中的空行(由于工作簿的生成方式,我有时会有空行)并将其删除。 这些空白行有时位于数据行之间,而有时可能位于工作表末尾。 2.删除空白行后找到最后使用的行。 将其存储到变量中。 我发现这段代码对这样做很有用: mylastrow = myBook.Sheets("Results").Cells.Find(what:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row 3.从 (2) 中确定的行开始,我想取 A(x where x = mylastrow) 中的产品代码并找到它的任何其他出现(在 A 列中)。 如果找到,则删除与其对应的整行。 重要的是,这个循环必须反向。 例如

2022-01-14 13:31:51    分类:技术分享    vba   excel   excel-2011

VBA - Search and remove duplicates

I'm looking for an algorithm for which I do not have the VBA knowledge to script myself. So I'm stuck. It isn't through lack of effort trying because I have given it a go (plus, this bit of code is the last remaining piece of my bigger VBA code) I simply lack the knowledge/experience/skill... Basically, I have an Excel file. In this file is a sheet, "sheet1". Sheet1 contains many rows of data. The number of rows contained in sheet1 can vary from 1 to n. Sometimes, I may have 50 while other times I may have 30, etc. What is consistent is the layout of the book, i.e. I have codes in column A

2022-01-14 10:46:34    分类:问答    vba   excel   excel-2011

将CSV文件的内容加载到数组而不打开文件[关闭](Load contents of CSV file to array without opening file [closed])

问题 关闭。 这个问题需要更加集中。 它目前不接受答案。 想改善这个问题吗? 更新问题,使其仅通过编辑这篇文章来关注一个问题。 5年前关闭。 改进这个问题 我需要将 6000 多个 csv 文件整理成一个 csv 文档。 当前的 VBA 流程是: 1. 打开单个 CSV 数据文件 2. 根据行数将文件内容加载到数组 3. 关闭单个 CSV 文件 4. 处理数组 为了提高代码和处理的效率,我希望有一种方法可以将单个 CSV 文件中的数据加载到数组中,而无需打开和关闭每个文件。 我使用的是 Excel 2011 for Mac。 回答1 好的,我假设所有 6000 个文件都具有相同的格式。 我的测试条件 我有一个名为 C:\Temp\ 的文件夹,其中包含 6000 个 CSV 文件所有 csv 文件都有 40 行和 16 列在 Excel 2010 中对其进行了测试。无法访问 2011。将在 2011 年进行大约 30 分钟的测试。 我运行了下面的代码,代码只用了 4 秒。 Option Explicit Sub Sample() Dim strFolder As String, strFile As String Dim MyData As String, strData() As String Dim FinalArray() As String Dim StartTime As

2021-12-09 16:33:12    分类:技术分享    arrays   excel   vba   macos   excel-2011

VBA 的日期在 Excel 2011 中不起作用?(Date for VBA not working in Excel 2011?)

问题 这是我的代码,我正在尝试,顺便说一句,它在 PC 上运行,但在 Mac 上不起作用,运行此代码并创建一个 Excel 工作表,命名,添加一个选项卡,更改所述选项卡的颜色,更改名称所述选项卡,然后将数据转置,同时将单元格的格式以及单元格的宽度和高度保持到新工作表。 这在 PC 上有效......但是当我进入 Mac 时,它没有。 我进入参考文献,这就是我所看到的。 我看到 Ref Edit Control 和 Microsoft Scripting Runtime 丢失。 我禁用了两者,脚本仍然在这里给我一个错误: wbBK2.SaveAs Dir & Application.PathSeparator & "Open Order Report -" & Format(Date, "mm-dd-yyyy") & ".xlsx" 错误发生在(Date, "mm-dd-yyyy")特别是Date部分。 我无法弄清楚为什么会发生这种情况。 如果有人可以仔细阅读并给我一个答案和解决方案,我将不胜感激。 我得到的Error '9 Subscript Out Of Range是Error '9 Subscript Out Of Range我看不出这个错误只出现在 Mac 而不是 PC 上的原因。 Option Explicit Sub OpenOrderReportExport() Dim

2021-12-09 02:43:55    分类:技术分享    excel   vba   macos   excel-2011

Load contents of CSV file to array without opening file [closed]

Closed. This question needs to be more focused. It is not currently accepting answers. Want to improve this question? Update the question so it focuses on one problem only by editing this post. Closed 5 years ago. Improve this question I have a requirement to collate over 6000 csv files into a single csv document. The current VBA process is: 1. Open individual CSV data file 2. Load contents of file to array based on number of rows 3. Close individual CSV file 4. Process array In order to improve efficiency of the code and processing, I was hoping there may be a method to load the data from the

2021-11-29 02:43:46    分类:问答    arrays   excel   vba   macos   excel-2011

Date for VBA not working in Excel 2011?

Here is my code, I am attempting, which works BTW on a PC, but not on a Mac, to run this code and have an excel sheet created, named, add a tab, change the color of said tabs, change the name of said tabs, and then transpose the data while maintaining the format of the cells and width and height of the cells to the new worksheet. This works, on a PC.... but when I get onto a Mac, it doesn't. I go into References, and this is what I see. I see Ref Edit Control, and Microsoft Scripting Runtime are missing. I disabled both, and the script gives me an error here still: wbBK2.SaveAs Dir &

2021-11-26 05:13:44    分类:问答    excel   vba   macos   excel-2011

如何将范围转换为字符串 (VBA)?(How can I convert a range to a string (VBA)?)

问题 将一系列单元格转换为字符串的最佳方法是什么? 我有一个只接受字符串作为输入的函数,所以我需要将范围转换为字符串,同时尽可能多地保留格式(即它需要看起来像一个表格或列表,而不仅仅是一个字符串) . 我尝试过使用 CStr() 以及从范围转换为数组然后转换为字符串,但我只是遇到错误。 编辑:代码尝试 Dim email_answer As Integer email_answer = MsgBox("Do you want to be emailled a copy of this schedule?", vbYesNo) If email_answer = vbYes Then Dim wb As Workbook Dim to_send As Range to_send = Range("D3", "D10") If Val(Application.Version) < 14 Then Exit Sub Set wb = ActiveWorkbook With wb MailFromMacWithMail body content:=CStr(to_send), _ mailsubject:="Schedule", _ toaddress:="email address", _ ccaddress:="", _ bccaddress:="", _ attachment:=

2021-11-22 09:41:56    分类:技术分享    vba   macos   excel   excel-2011

基于多个条件的单元格的 Excel SUMIFS(Excel SUMIFS of cells based upon multiple criteria)

问题 我正在尝试创建一个公式,该公式根据多个条件计算字段数组的总和。 这与各种特许经营权和他们在一年中进行的促销活动有关 我的文档包含两张纸,其中包含以下信息 - '每日收入'!A:A - 日期。 每个特许经营权每天有一个条目,其中包含该特定日期的收入。 “每日收入”!B:B - 特许经营名称 “每日收入”!D:D - 数字。 当天的每日收入。 '促销'!我:我 - 约会。 促销开始日期 '促销'!J:J - 约会。 促销结束日期 '促销'!K:K - 特许经营名称 简而言之,我们要计算每个特许经营已完成的每个单独促销期间的总收入(“每日收入”!I:I 到“每日收入”!J:J)。 我们希望总收入与促销详细信息位于同一行(例如,在“促销”!O1 中)因为我们有今年到目前为止每个商店已完成的每次促销的记录,所以我们有 1,478 个实例这使得手动计算成为不可能。 这是示例工作表的两个屏幕截图。 请注意,为了维护示例中的列,我删除了一些信息。 每日收入 促销活动 在“促销”选项卡的 O 列中,我们希望计算 I 列和 J 列中持续时间的天数的总收入(来自每日收入表)。 我尝试了各种 SUMIFS 公式,但到目前为止还没有得到任何结果。 任何人都可以帮助解决这个问题吗? 回答1 在Cell O2输入以下公式 =SUMIFS('Daily Revenues'!$D$2:$D$13,'Daily

2021-11-21 22:28:27    分类:技术分享    excel   excel-formula   excel-2011

Mac excel 2011 中的 Application.Filedialog 支持(Application.Filedialog support in Mac excel 2011)

问题 几个问题 Mac excel 2011 vba 中是否支持 Application.Filedialog(msoFileDialogSaveAs)? Application.Filedialog(msoFileDialogSaveAs) 和 Application.Dialogs(xlDialogSaveAs) 的区别? 回答1 我刚刚回答了这个问题,这里引用了你的问题。 还支持您的问题:- Mac excel 2011 vba 中是否支持 Application.Filedialog(msoFileDialogSaveAs)? 不,它不是,但是 Mac VBA 中有一个名为MacScript的内置函数,您可以通过它传递 applescript 以获取值,请参阅我之前链接的线程以获取更多详细信息。 Application.Filedialog(msoFileDialogSaveAs) 和 Application.Dialogs(xlDialogSaveAs) 的区别? Application.Filedialog 可以访问四个文件对话框样式框: - 打开对话框- 允许用户选择一个或多个文件,然后您可以使用 Execute 方法在主机应用程序中打开这些文件。 另存为对话框- 允许用户选择一个文件,然后您可以使用 Execute 方法将当前文件保存为该文件。 文件选取器对话框-

2021-11-21 00:18:14    分类:技术分享    macos   vba   excel-2011