Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA对行进行分组并转换数字_Excel_Vba - Fatal编程技术网

Excel VBA对行进行分组并转换数字

Excel VBA对行进行分组并转换数字,excel,vba,Excel,Vba,我有一列数据,其中每两行都是它自己的数据组(例如:第4行和第5行一起,第6行和第7行,等等) 对于每个组,列中的一个单元格当前存储了数据,但没有存储数据的模式,例如奇数/偶数行 我正在研究一个代码,对于每个组,找到保持值的单元格,将其转换成正数(因为所有数据都是负数),并将该数字附加到组内的空白单元格中。 我希望这是有道理的。下面是我到目前为止构建的代码,但到目前为止,它只是复制相同的数字,而没有将其转换为正数 非常感谢您的帮助 Dim LR As Long, i As Long

我有一列数据,其中每两行都是它自己的数据组(例如:第4行和第5行一起,第6行和第7行,等等)

对于每个组,列中的一个单元格当前存储了数据,但没有存储数据的模式,例如奇数/偶数行

我正在研究一个代码,对于每个组,找到保持值的单元格,将其转换成正数(因为所有数据都是负数),并将该数字附加到组内的空白单元格中。

我希望这是有道理的。下面是我到目前为止构建的代码,但到目前为止,它只是复制相同的数字,而没有将其转换为正数

非常感谢您的帮助

    Dim LR As Long, i As Long
   With Sheets("Sheet1")
      LR = .Range("A" & Rows.Count).End(xlUp).Row
For i = 4 To LR
   With .Range("W" & i)
      If .Value < 21 Then
         With Range("S2", Range("Q" & Rows.Count).End(xlUp))
             .SpecialCells(xlBlanks).FormulaR1C1 = "=if(iseven(row()),r[1]c,r[-1]c)"
             .Value = .Value
        End With
      End If
   End With
Next i
   End With
Dim LR尽可能长,i尽可能长
附页(“第1页”)
LR=.Range(“A”和Rows.Count).End(xlUp).Row
对于i=4至LR
带.Range(“W”和i)
如果.Value<21,则
带范围(“S2”、范围(“Q”和行数)。结束(xlUp))
.SpecialCells(xlBlanks).FormulaR1C1=“=if(iseven(row()),r[1]c,r[-1]c)”
.Value=.Value
以
如果结束
以
接下来我
以

看起来有太多的
循环和循环。代码在哪个工作簿中?范围(“S2…”可能表示有两张工作表。我应该是2张,而不是4张。他们在本工作簿中只有1张工作表,因此不确定“范围”(“S2…”)是否也是一个问题。我同意,可能有太多的循环/循环。这很容易,就像
.Range(“Q2”,“s”和LR)一样。特殊单元格(xlBlanks)。公式1C1=“=if(iseven(row()),-r[1]c)“
没有循环,但