Tag: vba

Excel / VBA从ThieWorkbook.Name中删除文本

我试图通过使用marco保存一个excel文件的副本,但在保存时修改当前文件名后面的文本。 我有一个macros的作品,但它增加了文件扩展名的文件名,然后我可以修改文本。 EG-我的文件被命名为“MyCurrentFile.xlsm”,当我保存它时会添加date,但是保留文件名称“MyCurrentFile.xlsm01-14-16.xlsm”。 我可以以某种方式删除第一个.xlsm? 码: Sub Save_With_Todays_Date() ' ' Save_With_Todays_Date Macro ' Save a copy of the workbook with todays date at the end. ThisWorkbook.SaveCopyAs _ Filename:=ThisWorkbook.Path & "\" & _ ThisWorkbook.Name & _ Format(Date, "mm-dd-yy") & ".xlsm" End Sub

使用VBA正则expression式来标识不包含特定单词的string

使用VBA Regular Expresions,我试图在Excel中查找包含string“CK”并且不包含string“AS”的单元格,但它始终阻止以A或S开头的任何string。我正在使用以下expression: pattern1 = "^[^AS](.*)CK(.*)" 我曾经看到负面的预测被build议,但是我所见过的(主要是其他编程语言)没有任何build议的expression式不能用于VBA-Excel。 任何提示?

将Excel附件保存为.txt – 使用Outlook 2010中的vbamacros打开

我有Outlook中的VBA代码下载Excel附件的特定电子邮件。 一旦保存,我打开Excel文件,并改变了一些东西,然后我想保存为.txt而不是Excel。 这是我的代码: ' Save the attachment as a file. objAttachments.Item(i).SaveAsFile strFile 'Open the attachment file Set xlApp = CreateObject("Excel.Application") xlApp.Workbooks.Open (strFile) xlApp.Visible = True xlApp.Workbooks.Item(1).activesheet.cells(1, 1).Value = "whatever" **xlApp.SaveAs strFile, FileFormat:=xlText** xlApp.Workbooks.Close 有谁知道如何将Excel保存在Outlook的VBA中? 对不起,如果没有我想要的那么清楚。 不工作的部分是: xlApp.SaveAs strFile,FileFormat:= xlText 我从Outlook 2010运行这个,我不明白为什么不工作,当我试图保存为纯文本的Excel(机智制表符分隔),我做错了什么? 谢谢你的回应。

VBA / Excel – 查找数字和移动范围

在我身上轻松 – 全新的VBA。 我很难完成这个简单的过程,我的大脑经过search和search后, 我正在处理近5万行数据。 我需要… 检查C列,看它是否包含数字。 如果不行 – 什么也不做。 如果它包含数字 – 从相邻行(D列)剪切数据。 将其粘贴到A列 Sub MoveRange() If IsEmpty(Range("C2:C40001").Value) = False Then Range("D2:D40001").Select Selection.Cut Range("A2").Select ActiveSheet.Paste End If End Sub 我已经能够手写剪切和粘贴部分 – 工作正常。 我必须在“IsEmpty”部分丢失一些东西。 列C中的单元格为空或包含数字 – 没有混合字符。 我认为有些事情我没有正确设置,标记数字? 现在代码运行,但它将所有数据从列D移动到列A. 任何帮助都将不胜感激。

将重复的值移动到新的工作表中

我正在尝试将“位置ID”列中的重复值复制到新工作表中,并使用VBA将该工作表命名为重复值。 我一直在搞乱,最接近的是创build一个列表,提取所有重复的值。 你能帮我解决这个问题吗? 例如 —— Main worksheet ——— Machine Name Location ID A-1 X A-2 X A-3 X B-11 A B-12 A C-7 C C-8 C 应该创build下面的工作表 Sheet X Machine Name Location ID A-1 X A-2 X A-3 X Sheet A Machine Name Location ID B-11 A B-12 A Sheet C Machine Name Location ID […]

如何保存所有Excel图表在一个PDF然后通过电子邮件发送

我将不胜感激,如果你能帮助我,我正在创build一个dynamic的Excel表,我pipe理到目前为止使用Excel vba VBA创buildExcel图表。 然而,我正在努力出口所有的图表和一个附加的表格到一个pdf 。 我有大约15个Excel图表和一个Excel表格,我需要把一个pdf 。 我需要把Excel表格作为pdf的第一页。 然后通过电子邮件发送这个pdf (全部使用vba)。 你能帮我解决这个问题吗? 非常感谢您的帮助。 先谢谢你!

用VBA创buildExcel图表 – 错误的结果

我在Excel中做了正弦计算器。 我尝试将图表插入表单中。 图表应该是以Y轴为振幅,X轴为时间的正弦波。 问题是,我得到一个图表,有两个图表:正弦,根据Y列和行 – 根据X列。 在这里我的代码: Public oneTimeFlag As Integer Sub calc() Range("A3", Range("A2").End(xlDown)).Clear Range("B2", Range("B2").End(xlDown)).Clear Range("A2").Value = "0" lw = Int(Range("$I$3").Value + 1) If lw >= 4 And lw < 21000 Then Range("A3").Select ActiveCell.Formula = "=(2*PI()/$I$3)+A2" Range("A3:A" & lw).FillDown Range("B2").Select ActiveCell.Formula = "=ROUNDDOWN(POWER(2,$G$2)/2 + SIN(($F$7*2*PI()/360) + A2)*((POWER(2,$G$2)/2) -1), 0)" Range("B2:B" & lw).FillDown AddOrUpdateChartSheet […]

通过使用公式或vlookup的Excel连接

我有两张excel工作簿。 我需要与SITEID相匹配的公式,并将3个值连接到1,用/分隔。 我试图使用Vlookup范围,但没有得到实际的结果。 第一张包含(4列): SiteId Cell Sector Bore MDLH1238 12381 1 10 MDLH1238 12382 2 20 MDLH1238 12383 3 40 MDLH1239 12391 1 60 MDLH1240 12401 1 50 MDLH1240 12402 2 20 第二张包含(2列): SiteId Bore MDLH1238 MDLH1239 MDLH1240 预期的结果应该是这样的: SiteId Bore MDLH1238 10/20/30 MDLH1239 60 MDLH1240 50/20

将variables范围从一个工作簿粘贴到另一个工作簿,从特定单元格开始

我试图通过列“K”在一个封闭的工作表中的列“A”单元格中的数据复制到打开的工作表,从单元格“A4”开始,同时保持源格式。 工作簿A是我试图从中复制的工作簿,Workbook是我正在尝试粘贴的工作簿。 Sub cmdUpdate_Click() Dim LastRow As Long LastRow = Cells(Rows.Count, "A").End(xlUp).Row Workbooks.Open Filename:="path to Workbook A", ReadOnly:=True Windows("Workbook A").Activate Range("A3" & ":K" & LastRow).Select Selection.Copy Workbooks("Workbook B").Cells(Rows.Count, 4).PasteSpecial Paste:=PasteAllUsingSourceTheme 我收到的错误是“select范围类失败的方法”。

将多个工作表中的多个列复制到新工作簿并按date过滤

我试图解决一些数据sorting问题,尽pipe有很多尝试尝试由论坛build议的解决scheme,我不是很远。 我有一个有20多张工作表的工作簿。我想从第5行开始复制大约4列(B,C,E和L)到一个新的工作簿(只有一张)。 它在20张以上的每一张相同的列。 并非每行中的所有列都保存数据,当这些数据保持空白时,这些数据是重要的。 原始工作簿中的一些工作表只包含几行,总是会添加几百行数据。 假设我可以find一种方法来自动将其复制到一个新的工作簿,我只想拉通过列中有字母'Y'的行。 C列是一个date,在一个理想的世界中,我将能够指定date之后的date,从原始到新的工作簿。 再次,这是因为原始工作簿中的数据不断被添加到,但我只需要零星地报告新的工作簿。 我觉得这应该比我做的更容易….但也许不是!