删除小于.089的行(有效值)

时间:2017-05-10 19:24:44

标签: excel-vba vba excel

我正在尝试编写宏来删除列H(AverageWeight)中任何值低于0.890的行。无论我写什么,尝试它都不会做任何事情。我无论如何都不是编码专家,只是不时地帮助他们完成工作指标。有人可以查看我的数据和帮助。它需要为As Long,因为此电子表格每天都会从数据库上传。

以下代码:

const renderSelect = ({input, items, filter}) => (
    <FormGroup controlId="name" role="form" className="col-md-12">
        <div className="group selectW" style={{width: '100%'}}>
            <VirtualizedSelect

                filterOptions={filter}
                options={items}
                onChange={input.onChange}
                value={input.value}
                name={input.name}
                placeholder="Name"
                onBlur={() => input.onBlur(input.value)}
                autoBlur={true}
                simpleValue={true}
                multi={true}
                clearable={false}
                onBlurResetsInput={false}
                onCloseResetsInput={false}
                delimiter="|"
                showNewOptionAtTop={false}
                selectComponent={Creatable}
                promptTextCreator={(label) => {return "Search for " + label}}

            />
        </div>
    </FormGroup>
);

enter image description here

2 个答案:

答案 0 :(得分:0)

这可以正常工作,将列H保留为双精度十进制数。你只是忘了在你的&#34; H20000&#34;

周围加上引号

哦等等 - 专栏&#34; H&#34;是第8栏 - 而不是第2栏。重新编辑。并且2000000导致错误。我把它改成了200000。

Sub Delete089()
Dim LastRow As Long, n As Long
LastRow = Range("H200000").End(xlUp).Row
For n = LastRow To 1 Step -1
    If Cells(n, 8).Value <= 0.089 Then Cells(n, 1).EntireRow.Delete
Next n

End Sub

答案 1 :(得分:0)

Sub Del089()

    LastRow = Cells(Rows.Count, 8).End(xlUp).Row

    For x = LastRow To 1 Step -1

        If Cells(x, 8).Value <= 0.089 Then
            Cells(x, 8).EntireRow.Delete
        End If

    Next x

End Sub

假设我们正在讨论H列。