所以这就是我的问题。我有3个带标题的列。对于这个例子,让我们说第一列是普通的文本字符串。第二个是可选字段,它是空的或填充的。第三列是要使用以下规则填充的列:如果第二列不为空,则第一列的前2个字母应自动填充到第3列。见下图。
使用功能我只需要输入= IF(B2<>"&#34 ;; LEFT(A2; 2);"") -formula to 3rd column中的所有细胞。但有人能告诉我如何在VBA中做同样的事情? (在这种情况下,我没有选择使用该功能)。
编辑:谢谢你的所有答案:)
答案 0 :(得分:1)
Sub Macro1()
ActiveCell.FormulaR1C1 = "=IF(R[5]C[11]<>"""",LEFT(R[5]C,2),"""")"
'CHANGE C1:C38 TO THE RANGE OF YOUR THIRD COLUMN
Selection.AutoFill Destination:=Range("C1:C38"), Type:=xlFillDefault
End Sub
只需调整C1:C38
以适合您的第三列范围
答案 1 :(得分:1)
这应该这样做,
Sub test()
Sheets("Sheet1").Range("C1:C10").Formula = "=IF(C1 <> """", LEFT(C1,2), """")"
End Sub
答案 2 :(得分:1)
考虑到您展示的数据,请尝试一下......
{{1}}
上面的代码假设数据位于A列和B列,您需要根据N列将公式放在C列中,从Row2开始。
答案 3 :(得分:0)
Public Function myThirdColumn(myFirstColumn, mySecondColumn)
If mySecondColumn <> "" Then
myThirdColumn = Left(myFirstColumn, 2)
Else
myThirdColumn = ""
End If
End Function