Tag: 自动

按月份和年份过滤excel电子表格

所以我需要find每年每个月的最高价格和最低价格。 Sub Anaylze() Dim datemonthcount As Long Dim dateyearcount As Long Dim yearcount As Long Dim month As Long Dim yearstart As Long Dim maxprice As Long Dim minprice As Long Dim rowprice As Long Dim percentchange Dim counterlong As Integer rowprice = 1 yearstart = 2002 counterlong = 0 Range("A1").Select Do Until IsEmpty(ActiveCell) Or […]

如何刷新Excel每半小时和自动保存退出

我当然有一个Excel文件,有数据被导入到它。 现在设置的方式是打开时刷新,然后closures它自动保存。 我想打开这个文件,每隔30分钟刷新一次,并保存每次刷新完成,以及closures保存文件。 我目前的代码是: Private Sub Workbook_BeforeClose(取消为布尔) Application.DisplayAlerts = False ThisWorkbook.Save Application.DisplayAlerts = True 结束小组 我不知道任何VBA,所以我感谢你的帮助。

C ++ ExportAsFixedFormat保存为PDF

我使用VS2010 C ++和Office 2010来创build基于Excel模板的报表。 C ++可以成功打开,插入值并将xlsx保存为其他内容,但是我希望它也可以将其另存为PDF。 尽pipe在VB,C#和PowerShell中看到了一些示例,但我正在努力使用ExportAsFixedFormat()函数的_variant_t参数。 任何人都可以提供示例代码? 我的function的shell: Excel::_ApplicationPtr pXL; if (FAILED(pXL.CreateInstance("Excel.Application"))) { return FALSE; } pXL->Workbooks->Open("c:\\tempRep.xlsx"); pXL->PutVisible(0, FALSE); // Get the active worksheet Excel::_WorksheetPtr pWksheet = pXL->ActiveSheet; //… use the spreadsheet // Save the worksheet pWksheet->SaveAs("c:\\newRep.xlsx"); pWksheet->ExportAsFixedFormat(??const _variant_t &Filename, ….??) 谢谢,史蒂夫

xlfillseries不能在vba的用户表单中工作吗?

我正在尝试根据用户窗体上的文本框中的值自动填充连续date。 然而,当代码运行时,该值只是复制到相邻的文本框中。 (即C2的值为2-5月,C3的值为2-5月等) 为什么这不起作用? datetxtbx.Value = Format(Now, "d-mmm") Range("C2").Value = datetxtbx Range("C2").Select Selection.AutoFill Destination:=Range("C2:I2"), Type:=xlFillSeries

响应单元格值更改的自动执行

我知道代码可能不是很好,但我还在学习VBA。 我创build了一个工作表来组织我的大学课程列表,但是我正在努力使代码在前两列中更改值时自动执行。 第一列中的“x”select完成的课程,从所需的总小时数中减去该课程的学分。 第二栏中的“S”和一些数字表示一个学期,并总结每学期的学分,例如,如果我在“工程中的学习和职业”旁边input“S1”,那么将会采取每学期1学分,并加上整个学期的总学时。 这两个代码是完全独立的。 工作表的屏幕截图: http : //i.imgur.com/G850X.png 码: Private Sub Calculations() Dim creditsLeft As Integer creditsLeft = 130 For i = 3 To 43 If Cells(i, 1).Value = "x" Then creditsLeft = (creditsLeft – Cells(i, 8)) Next i Range("J3").Value = creditsLeft Dim S1creds, S2creds, S3creds, S4creds, S5creds, S6creds As Integer For i = […]

VBA:返回2个以上的过滤条件

我有一堆列的标准filter,我想读filter标准。 在select超过2个标准的情况下,这不是真正的问题。 我有一串不同的string,我希望能够得到用户select的标准。 目前我正在使用这段代码: Set ws = Worksheets(actSheet) For Each flt In ws.AutoFilter.Filters If flt.On = True Then criterias = criterias & flt.Criteria1 & ", " criterias = criterias & flt.Criteria2 & ", " End If Next flt 这只给了我获得2个标准最大值的机会。 我已经在不同的论坛中find了这行代码,但是由于其他原因,我并不知道如何使用这段代码: ActiveSheet.AutoFilter Field:=1, Criteria1:=Array(param1, param2, param3,…) _ Operator:=xlFilterValues 这样你可以设定标准,但我想知道 。 任何想法如何我可以使用此代码? 或者我的问题的另一个build议? 提前致谢! 编辑: 那么我已经在这个工作了很多小时,仍然没有解决scheme。 在Array中的Criteria1中获取数组是不太可能的。 […]

excel VBA – 从Autofilter返回Criteria1数组

我有一个表,我需要返回所有的切换值。 当我select哪一个我想要它后,我logging一个macros它看起来像这样 ActiveSheet.Range("$A$1:$P$1000").AutoFilter Field:=6, Criteria1:=Array("A" _ , "B", "C", "D", "E", "G"), Operator:=xlFilterValues 我的问题是,将被用户过滤的a,b,c等值将始终在改变,所以我不能以任何方式对任何标准进行硬编码。 有没有办法我可以返回一个类似于这个样子的方式来切换的数组? msgbox ActiveSheet.Range("$A$1:$P$1000").criteria1

最快的方法(自动)在Excel中过滤多个标准并删除不匹配的行?

我有以下代码,我正在使用的解决方法,而不是筛选数据,因为我有多个标准。 我在某处读过,一次只能过滤2个标准吗? 事情是,我有5 – AB, DZ, RE, Z3, ZP – 其他的东西都应该删除。 所以我使用下面的代码,它工作正常,但是每次运行macros时必须处理+30000行,这是非常缓慢的。 无论如何你可以做得更快? 我正在考虑一次过滤每个标准(创build下面第一个代码中的第5个)。 但是,如果有办法加快速度,我将不胜感激。 我使用的代码很慢: ' Step 13 – Filter and Delete All Except ' AB, DZ, RE, Z3, ZP in Column 6 – Type Sub FilterDeleteType() Dim rTable As Range, r As Range Dim rDelete As Range Set rDelete = Nothing Dim v […]

Excelgraphics轴自动resize

我有下面的代码绘制散点图。 有没有一个优雅的方式来调整绘图区域的大小,使x轴和y轴不总是自动从零​​开始,而是低于最低值? 目前所有的数据点都聚集在一个angular落里。 非常感谢! Set cht = ActiveChart 'GRAPH 1 Set rng1 = ActiveSheet.Range(Range("AC13").Offset(jump * 50, 0), Range("AG23").Offset(jump * 50, 0)) With ActiveSheet.ChartObjects.Add(Left:=rng1.Left, Width:=rng1.Width, Top:=rng1.Top, Height:=rng1.Height) '(Left:=100, Width:=375, Top:=75, Height:=225) .Chart.ChartType = xlXYScatterLines .Chart.HasLegend = False .Chart.Axes(xlCategory).TickLabels.Font.Size = 18 .Chart.Axes(xlValue).TickLabels.Font.Size = 18 '.Chart.SetSourceData Source:=Range("U13:O40,T13:N40") Set srs = .Chart.SeriesCollection.NewSeries srs.XValues = Range(Range("U13").Offset(jump * 50, 0), Range("U13").Offset(jump […]

Excel VBA – 直到最后一行的date

我目前正在努力实现以下内容: A列中有数据(如Orange,Apple,Mango),B列为空。 我想实现一个框,在inputdate后,它将在一个范围内自动填充。 这是我的代码到目前为止: Public Sub DATERES() Dim strUserResponse As String strUserResponse = InputBox("Enter Date") ActiveSheet.Range("B1:B100").Value = strUserResponse End Sub 然而,迄今为止这么好,我的问题是A的数据有时会在1到500-600之间变化。 因此,我想修改它,以便它首先检查列A,并只在列B中inputdate,直到最后一行,而不是给它一个更大的范围(如B1:B1000)。 任何帮助和build议表示赞赏。 祝你今天愉快!