我正在尝试在VBA中复制excel中的简单函数,该函数允许您在整个列中重复一个函数,并在侧面的列为空时停止。具体来说,我想对列的整个相关部分重复一个if-else if函数
这是一个没有用的尝试
Sub RepeatIfElseif
Range("A1").Select
If selection > 0 Then
Range("B1").Select
ActiveCell.FormulaR1C1 = "X"
Range("A1").Select
ElseIf selection <= 0 Then
Range("B1").Select
ActiveCell.FormulaR1C1 = "Y"
End If
Range("B1").Select
selection.AutoFill Destination:=Range("B1:B134")
有什么办法可以循环吗?
答案 0 :(得分:0)
如果要使用循环,可以使用以下代码:
fork
它可以像没有循环那样完成:
For i = 1 To 134
If Range("A" & i).Value > 0 Then
Range("B" & i).FormulaR1C1 = "X"
Else
Range("B" & i").FormulaR1C1 = "Y"
End If
Next I
不确定要使用Range("B1:B134").Formula = "=IF(A1>0," & Chr(34) & "X" & Chr(34) & "," & Chr(34) & "Y" & Chr(34) & ")"
实现什么公式?
答案 1 :(得分:0)
我正在努力提高英语水平,我发誓...
我会做这样的事情:
function missing(array1, array2) {
const copy = array1.slice()
return array2.some(element => {
const index = copy.indexOf(element)
if(index >= 0) copy.splice(index, 1);
return index < 0
})
}
var array1 = ['bob', 'george'];
var array2 = ['bob', 'george', 'frank'];
console.log(missing(array1, array2))
var array1 = ['bob', 'frank'];
var array2 = ['bob', 'george', 'frank'];
console.log(missing(array1, array2))
var array1 = ['frank', 'george'];
var array2 = ['bob', 'george', 'frank'];
console.log(missing(array1, array2))
var array1 = ['frank', 'bob', 'george'];
var array2 = ['bob', 'george', 'frank'];
console.log(missing(array1, array2))
var array1 = ['frank', 'george', 'sue', 'frank'];
var array2 = ['bob', 'george', 'frank'];
console.log(missing(array1, array2))
var array1 = ['frank', 'george', 'sue', 'frank'];
var array2 = ['bob', 'george', 'frank', 'janet'];
console.log(missing(array1, array2))
var array1 = ['frank', 'george'];
var array2 = ['frank', 'frank'];
console.log(missing(array1, array2))
希望这会有所帮助。
答案 2 :(得分:0)
选择最有可能代表最后一行的列(在我的示例中,我使用的是Column A
),然后可以动态地下拉一行而不用环。
下面将填充A2 + 1
中的方程Column B
,从第二行开始(假设您有标题行),直到{{1 }}
Column A