Tag: vba

如何在Excel标签的标题中垂直居中文本?

在Excel 2007中,我在工作表上插入了一个ActiveX标签。 我右键单击它并查看属性,并设法将TextAlign属性更改为2(frmTextAlignCenter)。 这将标签标题的文本alignment到标签的中心(水平),但文本保留在标签的顶部。 我如何将标题的文字置于VERTICALLY的中间,使其位于标签的中间位置? 我已经在SO中search了“垂直alignment”,但没有提到如何为Excel标签的标题做到这一点。 谢谢!

Excel VBA – 删除表中的空白行

我试图运行一个macros,select表格列中的空白单元格,并删除整个行。 下面的脚本除了删除部分,它会提示run-time error 1004 – "Delete method of Range class failed" 。 任何想法如何解决这个问题? 谢谢 Sub test() Range("Table1[[New]]").Activate Selection.SpecialCells(xlCellTypeBlanks).Select Selection.EntireRow.Delete End Sub

通过VBA将XML加载到Excel中

我有一点VBA是通过VBA加载XML文件。 但是,当它被导入时,它全部在一列中,而不是分成一个表格。 当我通过数据选项卡手动导入时,我得到的警告没有模式,但询问我是否希望Excel基于源数据创build一个。 然后将所有的数据放在一个漂亮的表格中。 我希望在我目前的VBA代码中自动发生这种情况: VBA看起来像 Sub refresh() '——————————–1. Profile IDs———————————–' 'date variables Dim start_period As String start_period = Sheets("Automated").Cells(1, 6).Value Dim end_period As String end_period = Sheets("Automated").Cells(1, 7).Value 'report id variable names Dim BusinessplanningReportID As String '——————————–REST queries——————————–' Dim Businessplanning As String 'REST query values Businessplanning = "URL;http://api.trucast.net/2/saved_searches/00000/pivot/content_volume_trend/?apikey=0000000&start=" + start_period + "&end=" + end_period […]

VBA昏暗的工作表(不是工作表)

好吧,我知道我可以这样做: Dim ws as worksheet Set ws = thisworkbook.worksheets("Sheet1") 然后用ws工作表对象做我喜欢的东西 我也知道我可以Dim wss as worksheets并使用worksheets("Sheet1")返回工作表对象。 那么为什么以下工作? Dim wss as worksheets Dim ws as worksheet Set wss = thisworkbook.worksheets Set ws = wss("Sheet1") 我也试过: Dim wss as worksheets Dim ws as worksheet Set ws = thisworkbook.wss("Sheet1") 但后者只是看起来像我试图重命名/缩短“工作表”,这似乎是完全错误的。 我试图把工作簿的工作表放到一个名为wss的工作表对象中。 这是更多的关于试图了解,而不是为了function的目的,而不是任何东西,但是为了function的目的,我试图让wss包含所有的工作簿x的工作表,所以我可以做ws = wss(1)而不是说set ws = wb.worksheets(1) 这是甚至可能或者我误解工作表/工作表关系?

Outlook项目更改重复

在Outlook中,我有一个VBA脚本 ,它读取新的传入电子邮件,并将一些信息保存到Excel文件,并将文本正文和任何附件保存到文件夹中。 现在,我想改变我的脚本,以便保存任何类别为“蓝色”的电子邮件。 所以我修改了这里的一些部分: Public WithEvents objMails As Outlook.Items Private Sub Application_Startup() Set objMails = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items End Sub Private Sub objMails_ItemChange(ByVal Item As Object) If Item.Class = olMail And Item.Categories = "Blue" Then Set objMail = Item Else Exit Sub End If …. 代码的其余部分包括有关保存的细节,其中没有一个是从我以前的工作脚本中更改的,但为了完整起见,我将其包括在内。 … 'Specify the Excel file which you want to auto export […]

使用自定义顺序和包含逗号的值对Excel VBA进行sorting

在VBA中,Excel允许使用CustomOrder参数来sorting值,以selectsorting项目。 不幸的是,项目的顺序是由逗号分隔,我的一个sorting项目包含逗号。 例如,我想按第二列中的类别对第一列中的数据进行sorting。 “空气,陆地或海洋”类别包含逗号。 Data1航空航天 Data2networking空间 Data3networking空间 Data4空气,陆地或海洋 Data5航空航天 Data6空气,陆地或海洋 Data7networking空间 如果您录制VBAmacros,则创build的代码如下所示: MyWorksheet.Sort.SortFields.Add Key:=Range( _ "B:B"), SortOn:=xlSortOnValues, Order:=xlAscending, _ CustomOrder:= "Cyberspace,Air,Land,or Sea,Aerospace", _ DataOption:=xlSortNormal MyWorksheet.Sort.Apply 所以,自定义sorting顺序应该是“networking空间”,然后是“空气,陆地或海洋”,然后是“航空航天”。 但是,第二类因逗号而被视为三类。 “空气,陆地或海洋”行被sorting到底部,因为Excel没有find自定义的sorting匹配。 有没有办法让CustomOrder使用包含embedded逗号的类别? 我试着在类别周围加双引号,我试着用分号replace分隔符(希望Excel能接受分号而不是逗号)。 都没有工作。

VBA – 转换为date

我还有一个问题: 我想从string转换为VBA中的date string看起来像:YYYY-DD-MM date应该是这样的:DD.MM.YYYY 我知道,通常你使用方法cdate()来做到这一点,但在这里不起作用。 我认为这是因为string的结构不好转换。 谢谢你的帮助 InformatikBabo

获取Unix时间毫秒

在Java中以毫秒为单位获得系统时间,我使用: new date().gettime() 使用Excel VBA可以以毫秒为单位获得相同的结果?

使用VBA绘制Excel的最佳方法是什么?

我是一名土木工程师,devise一个程序,允许用户定义道路横断面的数量,然后计算用于build造道路层的不同材料的数量。 我需要能够绘制用户定义的横截面的表示。 我不确定这是否最好通过在图表上绘制各种系列或绘制形状对象来实现。 有人有想法吗?

Excel VBA:销毁一个对象的集合是否会销毁每一个对象?

假设我有一个MyClass对象的集合MyCollection 。 Set MyCollection = Nothing调用每个包含的对象的析构函数,或者我应该照顾设置每个对象= Nothing单独的? 我明显关心内存泄漏的原因。 Dim MyCollection As Collection Set MyCollection = New Collection … 'add objects of type MyClass here Set MyCollection = Nothing 破坏这个类是否调用每个对象的析构函数?