VBA代码插入列和公式

时间:2018-07-03 18:20:27

标签: excel vba

我有一个文件,需要删除某些列。然后,我需要插入一列称为“正值”的列并添加一个公式,以便在此新列中仅选取来自另一列的正值。

到目前为止,我已经拼凑了以下代码以删除不需要的列,但是我一直坚持如何在现有的名为“ net”的列旁边插入新列,然后使该列仅显示正数。相关单元格中的列净值。

当前代码

Sub ArrayLoop()
  Dim ColumnsToRemove As Variant
  Dim vItem As Variant
  Dim A As Range

  Sheets("sheet 1").Select

  ColumnsToRemove = Array("acronym", "valueusd", "value gbp")
  For Each vItem In ColumnsToRemove
    Set A = Rows(8).Find(What:=vItem, LookIn:=xlValues, lookat:=xlPart)
    Debug.Print vItem, Not A Is Nothing

    If Not A Is Nothing Then A.EntireColumn.Delete
  Next
End Sub

当前,我手动插入新列并输入公式max(E9,0),因此新列要么显示0,要么显示值,如果另一列中的值大于0。是否可以将该部分自动化为好吧。

谢谢。

1 个答案:

答案 0 :(得分:1)

对于插入,找到单元格并发出:

for row in csv_reader:
    if not row: continue  # skip empty row, go to the next one

要插入公式,请将If Not A Is Nothing Then A.EntireColumn.Insert 与对应的字符串值一起使用,例如

cell.formula=

请注意,当插入一列时,作为找到值范围的A将向右移动,这就是为什么在单元格引用中需要Cells(1, A.column - 1).Formula = "=max(" & cells(9, A.column - 2).Address & ",0)" nad - 1的原因。