Tag: 循环

VBA中的高效循环

我已经写了一个VBAmacros的工作原理,但因为数据库也很大,所以耗时太长。 我知道这可以通过数组优化,但我不知道如何做到这一点。 有人可以帮我吗? 'Identify how many rows are in the file finalrow = ActiveSheet.Cells(Rows.Count, 6).End(xlUp).Row 'fill the empty fields which requires the part number and description For i = 2 To finalrow If Cells(i, 3) = 0 Or Cells(i, 3) = "————" Or Cells(i, 3) = "e" Or Cells(i, 3) = "111)" Or Cells(i, 3) […]

Excel导出到Word(VBA):问题与循环

我遇到以下问题: 我想从Excel工作表导出数据到Word文档。 代码的工作,但问题是,特定的代码块需要重复。 这就是错误的。 这是代码的摘录: Voortgang: If Controle1 = True Then GoTo OpmaakKatern2 End If If Controle2 = True Then GoTo OpmaakKatern3 End If OpmaakKatern1: If Datum1 = Empty Then Controle1 = False GoTo Eindsorteren Else: Controle1 = True End If .TypeParagraph 'Hier start katern1 .TypeParagraph .Font.Size = 12 .Font.Bold = True .Font.Underline = True […]

在Excel文档中循环logging

我需要循环访问excel文件中的一些logging,并将它们作为HTML表格的标题输出,但我不知道什么是最好的方法,因为我是PHP新手。 每个列标题开始作为一个标题后跟一个索引,所以你有: 国家1,国家2,国家3 ….到国家50。 我想有一个更自动的方式来检索这些值而不是坚持 $ result。=“$ Country1”; 每一个都必须包含国家的ID也应该被转换成一个数组,即另一件事,所以他们不需要打印如果是这样的话,所以结果可能是 <th id="Country1">Value of Country1</th> <th id="Country2">Value of Country2</th> <th id="Country3">Value of Country3</th> <th id="Country8">Value of Country8</th> <th id="Country24">Value of Country24</th> <th id="Country30">Value of Country30</th> 什么是最好的“代码灯”的方法来做到这一点? 问候!

VBA从工作簿中复制文件夹中的单元格值

我需要为大约150个产品创build计算,每个产品由大约50-60个子产品组成。 根据子产品是从外部生产还是从外部购买,价格将以不同的方式计算。 本质上,我需要复制粘贴产品中包含的每个子产品的重量和价格,并确定其来源。 我希望excel能够查看以前在同一个文件夹(所有不同的工作簿)中进行的计算,并且如果在工作簿中find一个单元格,则将权重,价格和源文件复制粘贴到当前打开的工作簿中。 我完全失去了如何比较细胞,如果find了匹配,然后将其复制到正确的位置。 我相信.Find和.FindNext在这里可能是有用的,但我不完全确定如何使用它们。 以下是我的数据结构的一个例子: 这是我迄今为止发现的: Sub RunCodeOnAllXLSFiles() Dim lCount As Long Dim wbResults As Workbook Dim wbCodeBook As Workbook Application.ScreenUpdating = False Application.DisplayAlerts = False Application.EnableEvents = False On Error Resume Next Set wbCodeBook = ThisWorkbook With Application.FileSearch .NewSearch 'Change path to suit .LookIn = "C:\ahjualune\stuff" .FileType = msoFileTypeExcelWorkbooks 'Optional filter with […]

Excel VBA:将工作表的简单副本放在文件夹中的多个工作簿上

我试图应用一个macros,从一个workBOOK(“x1”)复制并粘贴一个特定的工作表(称为工作表“x”的标题)到一个主工作簿(调用workBOOK“xmaster”),之后它从工作簿x1复制和粘贴工作表,还应该将工作表“x”的标题重命名为单元格B3。 这应该在移到下一个工作簿之前完成。 这将需要通过x100等工作簿x1。 我不能通过名称来引用工作簿,因为它们都被命名为一个没有真正可sorting方法的文本string。 我知道的这个代码是可行的,将“x”从“x1”复制到“xmaster”,以及重命名该表并打破链接,如下所示: Sub CombineCapExFiles() Sheets("Capital-Projects over 3K").Move After:=Workbooks("CapEx Master File.xlsm").Sheets _ (3) ActiveSheet.Name = Range("B3").Value Application.DisplayAlerts = False For Each wb In Application.Workbooks Select Case wb.Name Case ThisWorkbook.Name, "CapEx Master File.xlsm" ' do nothing Case Else wb.Close End Select Next wb Application.DisplayAlerts = True End Sub 激活上一个窗口不工作,也不知道如何解决这一部分。 但是我不知道如何构build这个循环来遍历目录中的所有工作簿。 我应该使用这个:? MyPath = "C:\directory […]

尝试创build一个将在特定表格上开始和结束的循环

我是VBA新手。 我想创build一组代码,这将允许我启动和停止一组工作表之间的循环。 背景:我有一个文件,用于更新财务分析的几个重要因素,并将某些选项卡分组在一起。 由于这个文件总是添加和减less制表符,我不能为设定数量的工作表设置一个循环。 我有一组在每个分组之间永远不会移动的选项卡。 所以我想创build一个循环,将开始在选项卡“X + 1”,并循环,直到它到达标签“Y-1”,因为我不想循环交stream。 中间的代码我已经写完了,但是我还没有很好的循环。

VBA – 从用户的Combobox中复制文本,并将其粘贴到Excel工作表中

我是新的excel的VBA和我试图适应一些堆栈溢出find的解决scheme,但我仍然卡住! 我正在尝试在用户窗体中的combobox中使用选定的选项的文本将此选定的文本的行粘贴到Excel工作表。 下面的代码旨在select当前活动的用户窗体的combobox值“CboIncomesPatch”,并将此值粘贴到活动页的单元格“M8”中,然后循环粘贴,直到计数器达到数字总单元数为止。 单位总数是文本框值“TxtNumberOfUnits”,例如“15”。 combobox中的15个文本应粘贴在单元格“M8”中,然后是所有后续行“M9”,“M10”等。ComboBox使用的范围是硬编码的,所有选项都是所有string(没有数字)。 在下面的代码.SelectedItem错误发生。 当我使用它作为文本框(不包括select代码的combobox部分)时,循环工作。 请让我知道,如果我可以在这里提供更多的信息来协助您的答案。 谢谢, 尼尔 Sub Incomes_Patch() Dim Counter As Integer Dim ws As UserForm Dim Total As Integer Dim Incomes As String Set ws = UserForm(this.CboIncomesPatch.GetItemText(Me.CboIncomesPatch.SelectedItem)) Set Incomes.Value = ws Total = TxtNumberOfUnits.Value Counter = 0 Application.ActiveSheet.range("M8").Select Do While Counter <= Total If Counter = Total Then Exit Do […]

尝试使用VBA循环创build空间相关logging的密钥

所以我头上有一个excel文件,其中有一个由程序员创build的数十万行,没有分析/关系数据库的概念。 这个文件基本上包含三个独立的表格(A,B和C),每个表格都有自己的一组字段,全部被分成一个巨大的工作表。 每个客户的所有logging都按位置组合在一起,而每行所属的表在A,B或C的“表格”列中标记。每个logging基本如下所示: Table Field 1 Field 2 ……. AXX BXX BXX BXX CXX 每个logging总是最多有一个A和一个C. 每个logging都没有A的行,但总是有一个C,每个C行后总是有一个新的logging。 VB可能不是这项任务的最佳select,但我只想暂时获得临时解决scheme。 这是我迄今为止的代码尝试(表格指针在列B,我想写ID到列O): Sub CreateID() Dim rng As Range Dim cell As Range Dim lastcol As Range Dim firstcol As Range Dim ID As Integer ID = 1 Set rng = Range("B4:O100") Set firstcol = Range("B4:B100") Set lastcol = Range("O4:O100") […]

使用Excel有条件地连接多行

我有一个大的数据文件,从提取过程中有一些破损的行。 我试图清理它在Excel中,并遇到多行检查问题。 我可以在我的公式中embedded一定数量的IF语句,但是存在缺失值的风险。 数据示例如下所示(将string粘贴到列A中): 'ID_Value','last_name','first_name','','dob','gender'comment comment comment comment' 'ID_Value','last_name','first_name','','dob','gender'comment' 'ID_Value','last_name','first_name','','dob','gender'comment' 'ID_Value','last_name','first_name','','dob','gender'comment comment comment comment comment' 我需要滚动注释行到他们之前的普通行。 目前我可以识别所有的行,并且可以在有两个注释行的时候使它工作,但是超出了我不知所措的程度。 Formula in Column B: =IF(LEFT(A1, 1) = "'", "IGNORE", "FLAG") Formula in Column C: =(IF(B2 = "FLAG", IF(B1 = "FLAG", "MOVE"))) Formula in Column D: =IF(B2 = "FLAG", IF(B1 = "FLAG", IF(C2 = "MOVE", CONCATENATE(A1, A2)))) 任何build议,非常感谢。

如何使用Apache POI获取MS Excel单元格的名称和内容

我有这个Excel表格,用户input关于几何形状的信息。 正如你所看到的单元格C:3已经被命名为“形状”,值是三angular形。 代码的第一部分可以拉出单元格的名称,下面的块可以打印特定单元格或范围内的值。 我希望能够传递第一个代码的名字,而不是硬编码到String cname中。 换句话说,string的名称应该等于我的第一个循环拉的所有值,也许一个嵌套循环? 公共类RangeSetter { public static void main(String[] args) throws IOException { // File Location FileInputStream file = new FileInputStream(new File("test2.xls")); HSSFWorkbook wb = new HSSFWorkbook(file); // retrieve workbook // This part of the code pulls all the names of the cells int NameTotalNumber = wb.getNumberOfNames(); for (int NameIndex = 0; […]