从一个工作簿复制到另一个工作簿

这应该在文本工作簿中抓取一个范围,然后将其粘贴到主文件夹中: Sub activateMacro() Dim masterWKB, copyWKB As Workbook Set masterWKB = ThisWorkbook Dim masterWKS, copyWKS As Worksheet Set masterWKS = Worksheets("Data") Dim lastLineCopy, lastLineWKB As Long Dim pasteRange As Range Dim listofFileNames As Variant listofFileNames = buildfilenameArray for i = 0 to Ubound(listofFileNames) lastLineWKB = masterWKS.Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row + 1 Debug.Print lastLineWKB […]

将地址栏拆分为三栏,空白

我有一个客户数据的.xlsx文件,20列宽,约16,000行。 列J是Customer address ,但是,此列中的每个条目都是三行: name , address line 1和address line 2 。 许多条目在各行中有一个或多个空格。 如何维护其他列中的所有数据,并将J列分成三列( name , address line 1和address line 2 ),并允许空白保留为空/ NA / 0?

多列查找

有很多相关的post,但我还没有find一个这样的相当。 我目前正在通过excel来帮助加快一个过程多一点。 Excel文件有两个电子表格。 一个是数据第二个是总结。 在数据电子表格中,我有第一列作为名称,接下来的7列有数据值(并非全部填充)。 Name Data1 Data2 Data3 Country Address VA 123 456 621 USA ExampleSt. MD 123 France 123Street DC 621 Korea 999Avenue UseCol Value Data2 456 Data3 621 Data1 000 我的问题是,我给了值“621”(它可以出现在多列,但不会出现在)。 我给了它应该在“data1,data2,data3 …”中的设置。 我怎么去找这个信息的名字? 没有VBA,只能通过excel。 我用这个代码在这里停了下来。 =INDEX(A1:D4,MATCH('621',*What do I put here*,0) 对于中间部分,问题的原因是因为我给了在另一个电子表格中使用哪个数据列。 编辑 所以,我遵循了Tim Williams关于使用胶印的说法。 但是,现在我有第二列,我正在尝试去。 所以我用来获取名称的代码如下 =IFERROR(INDEX(A2:A4,MATCH(B7,OFFSET(A2:A4,0,MATCH(A7,B1:D1,0)),0,1),"ERROR") 我必须对OFFSET部分进行哪些更改才能查找国家或地址单元格? 我相信我唯一需要改变的是内在的“匹配”function。 我应该做匹配(A7,B1:D1,0)+3到国家列吗? 谢谢。

平均根据标准输出

我有一个Excel表,前六列的值为1或2 。 接下来的六列与前六列相关联,并且具有将需要平均的值 – 根据前六列中是否存在1或2值来计算两个平均值。 然后根据两个平均值,最后六列需要分配一个等于H (高平均值)或L (低平均值)的值。 这很难解释,所以这里是一个例子: ABCDEFGHIJKLMNOPQR 1 2 2 1 2 2 1 8 8 9 8 6 8 LLHLLH 列C和F的值等于1 ,因此需要对列I和L进行平均。 那么因为A,B,D和E列的值等于2 ,所以需要对G,H,J和K列进行平均。 与值1 (I和L)相关的列的平均值是8.5 ,与值2 (G,H,J和K)相关的列的平均值是7.5 。 MR列现在必须用H或L标记,取决于来自GL列的对应值是否是高(H)或低(L)平均值的一部分。 在这种情况下,由于列I和L的平均值较大,因此需要为列O和列R分配一个H 其他列(M,N,P和Q)将被分配一个L因为它们的相关列(G,H,J,K)具有较低的平均值。

无法从Excel转换date

我开发了一个C#应用程序来从Excel文件中读取数据。 date也很less,格式为“dd / MM / yyyy” ,我可以将它们转换成DateTime对象。 但是,当我将相同的代码放在Web服务器上时,它将以“MM / dd / yyyy”格式读取Exceldate。 我检查了服务器上的区域设置,它和我的本地机器是“en-AU”一样 。 下面是转换date的函数: private DateTime? GetDate(string value) { if (value.Contains('/') || value.Contains('-')) { DateTime date = new DateTime(); string[] formats = { "dd/MM/yyyy", "dd/M/yyyy", "d/M/yyyy", "d/MM/yyyy", "dd/MM/yy", "dd/M/yy", "d/M/yy", "d/MM/yy", '"d-MMM-yyyy", "dd-MMM-yyyy", "d-MMM-yy", "dd-MMM-yy", "MM/dd/yyyy", "M/dd/yyyy", "M/d/yyyy"}; if (DateTime.TryParseExact(value, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out […]

如何使用Excel来计算hex格式的按位异或?

我有两个单元格与一串位: 1747F6001E00DB2XXXXX28FE5257645C 和 1C6262C8DBF510F655XXXXXA3BDA58AC 我想XOR二者在一起,以便结果将如0B2594C8C5F5CXXXXX190014698D3CF0 。 我知道我需要在Excel中使用按位XOR操作,因为按位XOR计算器可以在线工作,但是它们使我可以在hex和二进制input数据之间进行select。 BITXOR应该可以工作,但对于hexinput不起作用。

在列标题下插入新find的行

嗨,目前我有一个代码,可以帮助我复制和粘贴信息在外部工作簿基于匹配的条件,如“新加坡”新find的行。 代码将查看外部工作簿中的工作表,并search列中具有“新加坡”的所有行,并将其粘贴到另一个工作簿中。 但我现在面临的问题是,正在复制和粘贴的行与我的列标题重叠,而不是插入到工作表的最后一行。 以下是来自外部工作簿的信息将被粘贴到的图像。 但是,当我运行如下代码: Sub UpdateNewUpcomingProj() Dim wb1 As Workbook, wb2 As Workbook Dim ws1 As Worksheet, ws2 As Worksheet Dim copyFrom As Range Dim lRow As Long '<~~ Not Integer. Might give you error in higher versions of excel Dim strSearch As String Set wb1 = Application.Workbooks.Open("U:\Active Master Project.xlsm") Set ws1 = wb1.Worksheets("New […]

从txt到csv的边缘列表

我有一个图表表示在一个txt文件的边缘列表: 0 1 0 2 0 3 1 4 (当然,graphics要大得多) 我想导入一个csv文件的graphics,每个列在不同的Excel列:AB 0 1 0 2 0 3 1 4 有人可以告诉我一个方法来实现这个?

用电子邮件将电子邮件中的Excel工作表的一部分作为PDF附件用button发送

我在上面的标题中有代码,下面的代码将把电子邮件中的Excel表单的PDF发送到单元格中指定的电子邮件地址。 我的问题是它给PDF文件的名称是文件名后跟标签名称。 我将如何编辑下面的代码,以便为文件提供表单中单元格中指定的名称? Sub savePDFandEmailPayPlan() Dim strPath As String, strFName As String Dim OutApp As Object, OutMail As Object 'Create PDF of active sheet only strPath = Environ$("temp") & "\" trailing "\" strFName = ActiveWorkbook.Name strFName = Left(strFName, InStrRev(strFName, ".") – 1) & "_" & ActiveSheet.Name & ".pdf" ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ strPath & strFName, […]

数组不填充0

所以我将10个string存储到一个数组中。 然后,我循环通过一个工作表,并添加更多的元素,从位置10(第11元素)开始数组。 工作正常。 arr = Array("Summary", "Account Summary", "Calendarization", "Vehicles", "Buildings", "Personal Comp", "Comp Equip", _ "Software", "Furn & Fixtures", "Alloc Deprec") With ThisWorkbook.Worksheets("PrintTabCheck") lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row For i = 6 To lastRow If .Cells(i, 4) <> 9999999 Then ReDim Preserve arr(UBound(arr) + 1) arr(UBound(arr)) = .Cells(i, 2).Value Debug.Print arr(UBound(arr)) End If Next End […]