Tag: 循环

对于每个循环条件导致types不匹配

当循环条件包括F列的整个范围时,这些代码工作得很好: Dim ABnumb As String Dim cellSkill As Range Let ABnumb = dayWS.Cells(i1, 2).Value For Each cellSkill In skillSheet.Range("F:F") If cellSkill.Value = ABnumb Then Let skillNumb = cellSkill.Offset(0, -5).Value Let skillDelimited = skillDelimited & ";" & skillNumb End If Next cellSkill 但为了提高效率,我想限制回路使用范围。 当我将代码更改为: For Each cellSkill In skillSheet.UsedRange("F") 我得到这个expression式的types不匹配错误: If cellSkill.Value = ABnumb Then 我玩改变两个variables的声明的数据types,但没有有效的。 […]

如何每次迭代增加一个字母N次并存储在数组中?

$letter = array(); for ($i = 'A'; $i !== 'ZZ'; $i++){ $letter[] .= $i; } print_r($letter); 从上面的脚本我做了一个循环从A , B , C , D … ZZ 。 现在,我想把它作为A , C , E , G , I … ZZ 。 ( 2步而不是1 ) 我需要指导去做。

Excelmacros:循环和追加

当谈到VBA和excel时,我是一个总的新手,而不是一般的编程。 看来我有相当一段时间试图破译VBA。 我想要做的是通过列中未知行数的循环,然后如果它包含特定的首字母缩略词,它将检查不同列中的同一行,它将根据第二个单元格的内容附加两个string中的一个。 这段代码似乎不起作用,但也许这将有助于阐明我所得到的。 Sub AppendMacro() ' 'Append Macro 'Keyboard Shortcut: Ctrl+l ' Dim c As Range For Each c In Range("S:S") If c.Value = "USAA" Or c.Value = "USAA" Then ActiveCell.Offset(0, 2).Select If ActiveCell.Value = "AM" Then ActiveCell.Value = ActiveCell.Value & "8-10" End If End If Next c End Sub 我所知道的一件事是,细胞的价值并不是USAA或USAA,而是包含这些字符集。 另外,我确定我误解了ActiveCell的工作方式,但是如果有什么东西能够让我变得更直观的话,那么我们将会是你们。

Excel VBAdebugging:循环不search整个范围

我写了一个基本的macros来search一个范围(在一张纸上),然后根据保存select值的第三张纸复制选定的单元格(到另一张纸)。 我已经使用循环,因为我= X到Y BU它看起来像macros正在跳过一些行!???! 即,如果在行1到4中有4个有效值要复制,则macros只复制行2和4中的值(将有效单元1和3开沟)。 代码如下: Sub XXXXX() Dim i As Integer Dim PasteSheet As Worksheet: Set PasteSheet = Sheets("Sheet1") Dim CopySheet As Worksheet: Set CopySheet = Sheets("Sheet2") Dim SearchSheet As Worksheet: Set SearchSheet = Sheets("Sheet3") Dim LookupID, LookupID_SearchRange, CopyValueID, CopyValueID_Paste As Range For i = 7 To 2000 'I've also used the (Step 1) […]

vba运行时错误13 – 当试图执行一个循环

我有这个代码 Sub fillinvalues() Dim interest As Double Dim rate As Double Dim payment As Double Dim period As Double Dim ws As Worksheet Dim i As Object Dim begbal As Double Set ws = Worksheets("Sheet1") payment = ws.Range("H3").Value rate = ws.Range("H4").Value begbal = ws.Range("E3").Value begbal = 80000 Worksheets("Sheet1").Range("A2").Value = "PaymentNumber" Worksheets("Sheet1").Range("B2").Value = "Payment/period" Worksheets("Sheet1").Range("C2").Value = […]

循环将值复制到数组中

我处于一种需要在VBA中重现某些东西的情况,而且由于我对面向对象的语言和VBA一般的理解不够,所以有些困难。 问题 : 我需要生成一个基于2列表的数组或向量。 第一个范围(列)包含单位计数。 第二个范围(列)包含数字值。 我需要根据单位数量复制值。 例如, 如果第一行包含3个价值$ 100的单位,我需要数组包含$ 100,$ 100,$ 100。 这将需要通过每行包含单位循环。 所以如果第2行包含2个价值$ 50的单位 我需要完成数组为100美元,100美元,100美元,50美元,50美元,等等。 我知道这种情况将需要基于总值的ReDim数组。 我的斗争是我一直无法找出嵌套for循环。 我得到如何复制基于像下面的“单位”数量的价值… ReDim arr(0 To x – 1) For i = 0 To x – 1 arr(i) = rng.Offset(0, 1).Value Next 什么是循环通过每一行,并根据单位计数范围内的每一行复制值的最佳方法是什么? 如果任何人都熟悉R,我实质上是在寻找实现rep()函数的东西(例如,rep(df $ b,df $ a)),并返回一个数组中的值。 任何帮助是极大的赞赏。 谢谢

帮助我在Excel中自动化一个过程

我有一个excel工作表,在列A,B和C中的值是这样的: ABC 1 8.22 1.99902 32.48974 2 8.22 3.04698 33.92426 3 8.22 2.26374 33.1547 4 8.22 2.78227 33.2593 6 8.22 2.46798 33.34269 6 8.22 2.57802 33.67131 7 8.22 2.46798 32.7427 8 8.22 2.57802 33.07131 还有一个单元格(比如说F1)包含的值只能是1,2或3。 我想要创build一个commandbuttonbutton来执行以下工作:对于每一对行(它们都是一个组),在它们下面插入两行新的行,并用这样的值填充它们(假设我们正在处理位于第9行的组和10) If F1 = 1 THEN A11 = A10 B11 = B10 C11 = C9 A12 = A10 B12 = […]

VBA:第二个循环覆盖第一个循环

对于Excel中的VBA,我认为这个问题比较简单。 我正在写我的第一个嵌套循环,我遇到了第二个增量覆盖第一个的问题。 代码如下: Sub RandNumRang() Dim i As Integer, Row As Integer, Col As Integer Dim j As Integer Dim LastRow As Long Dim NoRows As Integer Dim MinNum As Double, MaxNum As Double Dim NumFormula As String Col = 1 'Write random numbers on Column A 'Get the range and number of random values […]

开始结束循环结束variables中间循环

从testing数据开始: 并运行代码: Sub TestLoop() Dim LastRow As Long, CurRow As Long LastRow = Range("A" & Rows.Count).End(xlUp).Row For CurRow = 1 To LastRow Range("B" & CurRow).Value = "Done" LastRow = 2 Next CurRow End Sub 我期望循环在第2行结束,因为我更改了variablesLastRow 。 但结果是: 对于VB.NET的MSDN参考有这样的说法 : 当For…Next循环启动时,Visual Basic会计算start , end和step 。 Visual Basic仅在此时评估这些值,然后将start分配给counter 。 在语句块运行之前,Visual Basic比较end 。 如果counter已经大于end值(或者如果step是负值,则计数值更小),则For loop结束并且控制传递给Next语句后面的语句。 否则,语句块将运行。 每次Visual Basic遇到Next语句时,它都会逐步递增并返回到For语句。 […]

每次用不同的值循环几次

我需要做一个循环,每次都会通过不同的rowno值。 这是代码的一部分: int rowno = 2; File file = new File("path"); Workbook workbook = Workbook.getWorkbook(file); String value = workbook.getSheet(0).getCell(1, rowno).getContents(); 接下来的行数将是11,20,29等等…