Tag: excel 2010

VBA Excel 2010 – 删除不包含基于另一列的列的最大值的行

我有一个excel电子表格有几列,其中两个有一个ID(重复自己)和一个date。 我试图完成的是删除所有行的ID只留下最大date的行。 我有一个所有独特的即时消息的第二张表。 这是我现在所拥有的: Public Sub sbMaxDateByIM() Dim max As Date Dim currentIM As String Dim MaxDateCurrentIM As Date Dim dateRange As Range Dim imrange As Range Application.Sheets("sheet1").Activate Set dateRange = ActiveSheet.Range(ActiveSheet.Range("E2"), ActiveSheet.Range("E2").End(xlDown)) Set imrange = ActiveSheet.Range(ActiveSheet.Range("A2"), ActiveSheet.Range("A2").End(xlDown)) Application.ScreenUpdating = False Application.Sheets("UniqueIMS").Activate For IM = 1 To ActiveSheet.Range(ActiveSheet.Range("A1"), ActiveSheet.Range("A1").End(xlDown)).Rows.Count currentIM = Sheets("UniqueIMS").Cells(IM, 1).Value MaxDateCurrentIM = […]

VBA Excel 2010 – 用于循环删除行如果下一个logging不同于以前的logging基于列值

我有一个行列表,有几列,我想要做的是,删除不符合条件的行基于前面的行的值。 基本上,我有一个列ID与一堆重复自己,另一列与date。 我按这两列升序排列logging Public Sub sbOrderRecords() Application.Sheets("sheet1").Select ActiveSheet.Sort.SortFields.Clear ActiveSheet.Sort.SortFields.Add Range("A1"), xlSortOnValues, xlAscending ActiveSheet.Sort.SortFields.Add Range("E1"), xlSortOnValues, xlAscending With ActiveSheet.Sort .SetRange Range("A1").CurrentRegion .Header = xlYes .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub 所以我的目标是删除ID等于上一个logging,但date较旧的logging,只留下一个logging与最新的dateID。 Public Sub sbDeleteByIMAndDate() Dim currentIM As String Dim MaxDateCurrentIM As Date Dim dateRange As Range Dim imRange As Range With […]

如何在Excel中向另一个单元格报告单元格值

我正在input表格的A列中的数据。 根据数据,我从黄色的单元格中取出了一些(实际上这个黄色单元格是A列的高值)。 所以所有的10个单元格,都有一个直到数据结束的总和。 我正在寻找自动报告七个第一个灰色单元格(和)到另一个表。 问题是,根据数据,高价值不在同一个地方,所以总数也不在同一个地方。 我能怎么做 ? 感谢您的帮助 我的错误: 而当我按ctrl maj同时input消息:

从Excel VBA编辑Outlook电子邮件

我已经得到了下面的代码,以成功地使用我的机器(fileName)本地保存的预制Outlook模板,并将活动Excel文档附加到它,但是有一些额外的文本,我想添加到电子邮件模板,以节省我复制和粘贴的时间。 有没有办法将额外的正文文本添加到预先创build的电子邮件模板,或者如果我可以让我的VBA代码读取正文文本,然后我可以通过将其存储在一个临时variables添加到它? 这是一个保存的.msg文件 Public Function GenerateEmail(sendTo As String, _ sendCC As String, sendBCC As String, _ subjectText As String, fileName As String) Application.ScreenUpdating = False Dim OutApp As Object Dim OutMail As Object Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItemFromTemplate(fileName) With OutMail .sendTo = sendToText .CC = sendCCText .BCC = sendBCCText .Subject = subjectText […]

避免arrays中不符合条件的元素

好的…下面的行将数组myArr的内容放在单元格A1中 sh.Range("A1").Resize(cnt, 7).Value = myArr 以下是上述线路输出的一些示例logging 18 5 1 23 15 7 6 23 5 3 10 18 20 15 19 10 25 12 21 15 23 10 14 11 9 7 25 20 24 15 23 20 11 17 2 7 15 3 16 24 22 13 14 4 15 13 6 23 2 […]

用户窗体上的迭代

我有一个用户表单,我需要让用户input多个任务集,以及估计执行每个任务所需的时间。 在完成每项任务和时间估算之后,我想要在电子表格中input信息,并且字段再次变为空白,以便input下一个任务。 这是主要的代码: Global i As Integer ' Rows Global j As Integer ' Columns Global tCount As Integer ' Task Count Sub Time_Calcs() Dim mcHours As Integer ' M/C process in hours Dim hDays As Integer ' Hours available per day i = 2 j = 3 tCount = 1 hDays = 6 Worksheets("Calculations").Activate […]

如果IsInArray(Cells(r,2),Break_List)= True,那么Excel VBA

我一直在深深地跟踪这个问题 ,试图将一张纸上的Cell(r,2)匹配到我在下面编译的数组中循环遍历另一张纸上的第2列中的行,但是我不断收到函数返回的False值。 Public Break_List(1 To 1000, 1 To 100) As Variant If IsInArray(Cells(r, 2), Break_List) = True Then Sub Store_Break_Categories() Sheets("BackEnd").Select Break_No_of_Rows = 0 'For c = 10 To 15 counter = 0 If Cells(2, 3) <> "" Then lastrow = Cells(65000, 3).End(xlUp).Row For r = 2 To lastrow counter = counter + 1 'Break_List(counter, […]

如果列名有换行符,如何引用Excel ListObject表列?

我的任务如下: 来自不同工作簿的几张纸必须复制到新的工作簿中 每个表单都包含一个Excel表格(一个ListObject),名称类似于带有后缀T的表格(表格FooT) 新的工作簿必须包含汇总表,其中列出每个表名称,并且通过用合适的公式来引用相应表格的各种值 这必须经常为不同的工作簿,所以想法是在VBA做到这一点。 复制工作表很简单,在新工作表中列出表名很容易,但是引用这些值会遇到问题。 总体思路是做到以下几点 ActiveSheet.Range("A1").Value = "FooT" ActiveSheet.Range("B1").Formula = "=FooT[[#Totals],[Quantity]]" ActiveSheet.Range("C1").Formula = "=FooT[[#Totals],[Total List Price]]" 并遍历所有表单。 设置A的值和B的公式按预期工作并获得预期的结果。 与C的问题是,而不是“总价格”,列标题实际上被格式化为 “总 名单 价钱” 我无法改变,这是一个devise决定。 如果我手动将公式添加到单元格,这也是如何在公式中显示列名称。 所以在这里发生了某种换行,而我已经试过在VBA中用这个来迎合这个 ActiveSheet.Range("C1").Formula = "=FooT[[#Totals],[Total" & vbCrLf & _ "List" & vbCrLf & _ "Price]]" 和vb_Cr和vb_Lf和vb_Newline而不是vbCrLf。 试图将C的公式设置为这些变体中的任何一个,都会产生臭名昭着的Error 1004。 从其中一个工作表中获取列标题的值,并在公式工作中使用它。 这可能是一个潜在的解决方法,但我真的很想知道我是否缺less什么,或者我怎样才能弄清楚如何正确构build这个公式string。

Excel GoalSeekmacros不起作用

任何人有任何build议如何解决这个macros。 一个编译错误不断出现,突出显示偏移量函数,并说未定义的子或函数。 Worksheets("Testing").Range(Offset(K51, 0, C41)).GoalSeek _ Goal:=0, _ ChangingCell:=Worksheets("Testing").Range(L58)

从csv转换为excel时错误的布局

我有下面的代码,但输出不正确显示。 任何想法,为什么这是造成这一点。 我在Linux中没有这个问题 我试图添加:encoding =“utf-8” 但是这并没有解决问题。 import csv import openpyxl wb = openpyxl.Workbook() ws = wb.active f = open('C:\HAHA.csv') reader = csv.reader(f, delimiter=':') for row in reader: ws.append(row) f.close() wb.save('C:\HAHA.xlsx')