Tag: excel vba

如何使用FileDialog导入选定的工作表?

我目前正试图组装一个主要的工作簿,将从其他文件导入数据。 用户应该能够使用FileDialogselect一个文件,到目前为止工作正常。 目前不能工作的是试图导入一个工作表,用户应该能够在用户窗体中进行select。 至于我的testing已经到目前为止有两种select: 将两个combobox放在用户窗体中的每个静态值(一个用于文件名,一个用于工作表名称)。 由于import单将永远是一个选定的types和工作表应该都具有相同的名字在未来可以工作,但只有这些条件将始终得到满足。 用户窗体上的一个combobox,显示要导入的工作簿的工作表名称(因为无论如何要将值复制到主工作簿,应该可以将工作表名称parsing到combobox中)。 我试图甚至可能使用VBA实现的是什么? 到目前为止,我一直无法将工作表名称导入combobox并导入数据。

在电子邮件中join文本和红色字体

我有代码(下面),作为一个更大的VBA代码的一部分,完美的作品。 不过,我想强调一些粗体的文字,一行红色,我不确定如何。 我想如何看电子邮件: .body = "Hello" & Chr(13) & Chr(13) _ & "The attached PICS and Benefits have been flagged as impacting your business or finance area. As such, these will require your approval before being presented to the funding board as part of the project investment board submission." & Chr(13) & Chr(13) _ & […]

从一个工作表粘贴到另一个不工作

我有一个工作簿(两张表之间)内部的macros。 但现在我想在两个工作簿之间做到这一点。 我认为这个逻辑看起来很好,但是我错过了什么? 它运行所有的代码,我没有得到任何错误,但在同一时间它什么都不做。 Sub CTClearINCIDENTS() Dim ws1 As Workbook Dim ws1sheet As Worksheet Dim ws2 As Workbook Dim ws2sheet As Worksheet Dim lastRow As Long Set ws1 = ThisWorkbook Set ws1sheet = ws1.Sheets("INCIDENTS") ws1sheet.Rows(5 & ":" & ws1sheet.Rows.Count).ClearContents Dim FilePath As String File_Path = "C:\TEMP\TestExcel\Cambridge Daily Tracker " & Format(Now, "dd-MM-yyyy") & ".xlsx" Set […]

以三种不同的方式将XML文件导入Excel

我的XML文件看起来像这样: 当我将这个文件导入Excel时,我得到一个包含其内容的表格。 但是,我需要为每个标签分别使用三个表格: <Header> <MasterFiles> <SourceDocuments> 因为它们看起来像三个相关的表格。 我用来导入文件的代码是: strTargetFile = "C:\SAFT.xml" Set wb = Workbooks.OpenXML(Filename:=strTargetFile, LoadOption:=xlXmlLoadImportToList) wb.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets("Sheet2").Range("A1") 但是如何将XML文件分解成三部分并将每个文件导入到不同的工作表?

如何总是强制插入单元格中的特定date格式?

当我使用VBA在Excel单元格中插入新的类似date的值时,date格式永远不会一致且正确。 我怎样才能改变单元格的date格式,并确保插入的值是一个真正的date,而不是它的string表示forms?

在Excel中将超链接转换为HTML代码

我在Excel文件中有一列超链接,我想将它们转换为它们各自的HTML代码: <a href="http://www.example.com">Link Name</a> 我find了只提取链接(如文本)的方法,但我需要整个HTML代码作为文本来replace单元格中的超链接。 我已经search和search,但没有人需要这个答案,我猜。 有人可以帮忙吗?

根据名称将工作表合并到一张工作表中

我能够在一张纸上编辑纸张,但是我想指出我要复印的纸张。 源文件可能有多个工作表名称Delta Prices #因此,如果找不到工作表名称,我想结束循环。 代码是: Option Explicit Sub CreateDeltaReport() Dim Newbook As Window Dim wb As Workbook Dim wb2 As Workbook Dim ws As Worksheet Dim vFile As Variant Dim wkb As Workbook Dim wb3 As Workbook Dim s As Worksheets Set wb = ThisWorkbook vFile = Application.GetOpenFilename("All-Files,*.xl**", 1, "Select One File To Open", , […]

删除具有一个特定列的空白行

我做了一个代码,将在我的表(table1)的所有行中search,并在某一列中find一个空白的单元格,该行将复制另一个表(表2),并从table1擦除。 当我把代码运行vb保持“不运行”,我需要强制停止,但是当我在Excel中查看表,我看到他复制一些行(不删除,因为我强制停止之前,他到达那里)。 我在一个有95k行的桌子上做这个,花了很多时间,我需要那么快。 所以这是代码: Function DeleteRows() Debug.Print Time Dim shtSrc As Worksheet, shtDest As Worksheet Dim lRow As Long, Row As Long Dim rw As Range, rngDel As Range Application.ScreenUpdating = False viewmode = ActiveWindow.View ActiveWindow.View = xlNormalView Application.EnableEvents = False Application.DisplayStatusBar = False ActiveSheet.DisplayPageBreaks = False Row = 2 lRow = Range("A" & Rows.Count).End(xlUp).Row […]

加载一个带有variables文件名的XML文件,用XSL进行转换

我正在寻找在Excel VBA中运行以下: Dim xmldoc As Object, xsldoc As Object, newdoc As Object Set xmldoc = CreateObject("MSXML2.DOMDocument") Set xsldoc = CreateObject("MSXML2.DOMDocument") Set newdoc = CreateObject("MSXML2.DOMDocument") ' LOAD XML xmldoc.async = False xmldoc.Load ActiveWorkbook.Path & "\Original.xml" ' LOAD XSL xsldoc.async = False xsldoc.Load ActiveWorkbook.Path & "\XSLT_File.xsl" ' TRANSFORM xmldoc.transformNodeToObject xsldoc, newdoc newdoc.Save ActiveWorkbook.Path & "\Output.xml" 我在相同的代码中运行这个,但之后,步骤,而原始的XML被导出 ActiveWorkbook.SaveAsXMLData […]

两列组合

我需要两列的所有组合。 第一列: +—-+ | 4 | | 8 | +—-+ 第二栏: +—-+ | 5 | | 6 | +—-+ 输出应该如下所示: +—–+——-+ | 4 | 5 | | 4 | 6 | | 8 | 5 | | 8 | 6 | +—–+——-+ 可能吗? 解: 第三栏: =IF(ROW()-ROW($F$1)+1>COUNTA(A:A)*COUNTA(B:B),"",INDEX(A:A,INT((ROW()-ROW($F$1))/COUNTA(B:B)+1))) 第四栏: =IF(ROW()-ROW($F$1)+1>COUNTA(A:A)*COUNTA(B:B),"",INDEX(B:B,MOD(ROW()-ROW($F$1),COUNTA(B:B))+1))