我正在做video分析。 我得到的最终结果数组是这样的: signal = Columns 1 through 7 73960 73960 73960 73960 68102 68102 68102 Columns 8 through 14 68102 19187 19187 19187 19187 14664 14664 Columns 15 through 21 14664 14664 13715 13715 13715 13715 30832 Columns 22 through 28 30832 30832 30832 53031 53031 53031 53031 Columns 29 through 35 56897 56897 56897 […]
有没有办法将Excel表格保存为XML? 我有XML模式文件…和一些表中的数据…我有在Excel中的另存为XML文件选项,但我可以保存为一个文件从VBA的XML? 我想自动化一个stream程,但是我没有find这个选项。 谢谢!
我正在运行一个macros,我们从WorkSheet02上的WorkSheet01调用Macro01。 使用Microsoft.Office.Interop.Excel命名空间我打开了一个WorkSheet01。 public void Main_CodedStep() { // Object for missing (or optional) arguments. object oMissing = System.Reflection.Missing.Value; // Create an instance of Microsoft Excel Excel.ApplicationClass oExcel = new Excel.ApplicationClass(); // Make it visible oExcel.Visible = true; // Open Worksheet01.xlsm Excel.Workbooks oBooks = oExcel.Workbooks; Excel._Workbook oBook = null; oBook = oBooks.Open("C:\\Users\\Admin\\Documents\\Worksheet01.xlsm", oMissing, oMissing, oMissing, oMissing, oMissing, […]
我已经做了一些子程序,他们在5个文件的testing阶段工作得很好,但是当我把它们放在真正的数据上时,那就是600个文件,一段时间之后,我得到这个消息: Excel无法使用可用资源完成此任务。 select更less的数据或closures其他应用程序。 我GOOGLE了它,我发现最多的是application.cutcopymode = false ,但在我的代码,我不使用剪切和复制模式,但处理复制 destrange.Value = sourceRange.Value 而当我去debugging,我的意思是在错误提示后,我需要这一行代码。 如果有人遇到类似的情况,并知道如何解决这个问题,我将不胜感激。 只是为了让自己清楚我已经尝试了application.cutcopymode = false并没有帮助。 我打开这600个文件中的每一个,按照不同的标准sorting,从每个拷贝开始,先将100个拷贝到新的工作簿中(一个接一个),当我完成一个标准时,我保存并closures新的工作簿并打开新的工作簿,不同的标准。 如果有人有兴趣帮忙,我也可以提供代码,但为了简单起见,我没有。 任何帮助或build议都是值得欢迎的。 谢谢。 编辑: 这里是主要的子目录:(其目的是从工作簿信息中获取复制的第一行数,因为我需要先复制第一个100,然后是50,然后是20,然后是10 …) Sub final() Dim i As Integer Dim x As Integer For i = 7 To 11 x = ThisWorkbook.Worksheets(1).Range("N" & i).Value Maximum_sub x Minimum_sub x Above_Average_sub x Below_Average_sub x Next i End Sub […]
我试图创build一个类来容纳可变数量的项目(这本身就是另一个类对象)。 所以,我有第二类: '2类包含每个单独的报价单元(OTC和MRC) 私人pOTC作为string 私人pMRC作为string 公共属性获取OTC()作为string OTC = POTC 最终财产 公共财产让OTC(价值作为string) pOTC =值 最终财产 公共属性获取MRC()作为string MRC = pMRC 最终财产 公共财产让MRC(价值作为string) pMRC =值 最终财产 然后Class 1包含一个Class 2的数组: 私人pCurr作为string 私人pQuote(20)作为Class2 公共属性获取Curr()作为string Curr = pCurr 最终财产 公共财产让Curr(值作为string) pCurr =值 最终财产 Public Property Set Quote(Index As Integer,cQuote As Class2) 设置pQuote(Index)= cQuote 最终财产 公共属性获取报价(索引整数)作为Class2 Quote = pQuote(Index) 最终财产 而我想要做的是这样的: Dim […]
在运行100,000次迭代的模拟之后,我尝试将每次迭代的值转储到列中。 这是代码的要点: Sub test() Application.ScreenUpdating = False Dim totalgoals() As Variant, ko As Worksheet, out As Worksheet, iter As Long Set ko = Sheets("KO Sim") Set out = Sheets("Monte Carlo") iter = out.Range("P2").Value For i = 1 To iter ko.Calculate If i = 1 Then ReDim totalgoals(1 To 1, 1 To 1) As Variant totalgoals(1, […]
我正在做一个Excel工作表,其中每一行都需要指出上一次该行内的任何单元格发生了变化。 我发现最简单的方法是在工作表代码中添加一些VBA,如下所示: Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If (Target.Row > 2) And (Cells(Target.Row, "A") <> "") Then Cells(Target.Row, "N").Value = Date End If Application.EnableEvents = True End Sub 这将有效地改变“N”列中的date,只要该行中的任何其他项目被编辑。 大! 解决,除了… 因为我正在更改代码中的单元格值,所以撤消堆栈会立即丢失,当然这意味着此工作表中的任何工作都无法撤消。 所以,另外一个办法就是让excel进入思维,我没有编辑过单元格。 此代码在更改date时保留撤消堆栈: Private Sub Worksheet_Change(ByVal Target As Range) Dim cursorLocation As Range Application.EnableEvents = False If Target.Row > 2 […]
我试图用Excel VBA代码将具有大量列(70+)的Microsoft Excel文件转换为pdf。 在活动工作簿中,我试图将'Sheet1'保存为所需path的PDF格式。 我有以下代码。 Sub GetSaveAsFilename() Dim fileName As String fileName = Application.GetSaveAsFilename(InitialFileName:="", _ FileFilter:="PDF Files (*.pdf), *.pdf", _ Title:="Select Path and FileName to save") If fileName <> "False" Then With ActiveWorkbook .Worksheets("Sheet1").ExportAsFixedFormat Type:=xlTypePDF, fileName:= _ fileName, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False End With End If End Sub 当我运行VBA代码并保存PDF文件时,我看到了; 整个excelsheet不适合在同一页面。 它在下一页显示一些内容。 (只有less数列出现在第一页,剩余的出现在下一页等等。)。 我检查了如何发布PDF格式的宽工作表? 。 […]
我创build了一个接受数组input的excel UDF。 我只希望它允许在数组中偶数个项目。 这是代码:(它只是简短的,所以我会发布一切,这样你可以有一些上下文) Function SUBSTITUTEMULTI(inputString As String, ParamArray criteria() As Variant) as String Dim subWhat As String Dim forWhat As String Dim x As Single If UBound(criteria()) Mod 2 = 0 Then 'check whether an even number of arguments is input MsgBox "You've entered too few arguments for this function", vbExclamation Else x = […]
我有这张表,我使用高级filter来search我的工作簿中另一张表内的信息。 此外,我想保护工作表,因为我有一些单元格,人们不应该能够改变,但我也有细胞,用户应该有一些信息,然后我已经解锁这些单元格,你可以看到下面: 问题是,当我尝试运行我的高级筛选器,当我点击我的“filter”button。 我收到一条错误消息,说: 高级筛选器无法在受保护的工作表中运行。 所以我把这个代码关联到我的“Filter”button: Private Sub Filtrar_Click() Dim wks As Worksheet For Each wks In ActiveWorkbook.Worksheets wks.Unprotect "Password" Call LimparAntes wks.Protect "Password", UserInterfaceOnly:=True Next End Sub LimparAntes子是调用高级filter的例程,但我仍然得到相同的错误,所以我有疑问。 代码如下: Sub LimparAntes() ' ' LimparAntes Macro ' ' Dim Lastrow As Long Lastrow = Sheets("AUX").Range("A" & rows.Count).End(xlUp).Row Sheets("AUX").Range("A1:K" & Lastrow).AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Sheets("CONSULTA").Range("D34:I35"), CopyToRange:=Sheets("CONSULTA").Range("B40:K40"), Unique:= […]