【发布时间】:2015-11-09 00:50:34
【问题描述】:
我正在尝试从 2 列中检查它们是否符合某些条件,以便在新列中给我一个结果。如果 K 列中的单元格包含数字(或非空),则行很重要。如果 I 列中的单元格(包含文本和/或数字)包含特定数字,例如 70、1、1.5、3 或 300,那么我需要它们各自的结果在新列中为 1、1.5、2 和 4 .
Sub Compute()
Dim conversion As Long
Dim Krng As Range, cell As Range, Irng As Range
‘Krng is column K with only numbers. Only rows with numbers in column K matter
Set Krng = Range(Range("K2"), Range("K2").End(xlDown))
‘Irng is column I with strings with both text and numbers. I need to search if the cells in the column contain specific numbers in its strings to give another number in a different column
Set Irng = Range(Range("I2"), Range("I2").End(xlDown))
Dim i As Long
Do While Not IsEmpty(Krng)
For i = 1 To Range("I2").End(xlDown)
If i Like "70" Then conversion = 1
Else
If i Like "1" Then conversion = 1.5
Else
If i Like "1.5" Then conversion = 2
Else
If i Like "3" Or "300" Then conversion = 4
Else: conversion = 1
Next i
Loop
Range("N1").Value = conversion
End Sub
干杯!
【问题讨论】:
标签: excel if-statement for-loop range vba