我有一个文件,需要删除某些列。然后,我需要插入一列称为“正值”的列并添加一个公式,以便在此新列中仅选取来自另一列的正值。
到目前为止,我已经拼凑了以下代码以删除不需要的列,但是我一直坚持如何在现有的名为“ 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。是否可以将该部分自动化为好吧。
谢谢。
答案 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
的原因。