我目前正在尝试创建一个循环,将sheet1上的项目排名(低,中,高,极......)转换为表3中的数值,以便我可以对它们进行排名。
我目前正在将sheet3链接到sheet1以翻译值
=IF(Sheet1!B2 = "low",1,IF(Sheet1!B2="medium",2,IF(Sheet1!B2="high",2,...)
我想在循环中执行此操作,这样我只需按一下按钮就可以将sheet1上的所有值转换为sheet3。我的值范围从B列第2行到F列,我希望它为每个条目执行此操作,即使我添加更多。
谢谢!
答案 0 :(得分:0)
如果您在Sheet3单元格G2中输入了公式,则在计算A列中的行数后,以下代码会将公式添加到G列中的所有单元格中:
Sub foo()
Dim ws As Worksheet: Set ws = Sheets("Sheet3")
'declare and set your worksheet, amend as required
LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
'get the last row with data on Column A
ws.Range("G2:G" & LastRow).FormulaR1C1 = "=IF(Sheet1!RC[-5]=""low"",1,IF(Sheet1!RC[-5]=""medium"",2,IF(Sheet1!RC[-5]=""high"",3,IF(Sheet1!RC[-5]=""extreme"",4))))"
'above enter the formula
ws.Range("G2:G" & LastRow).Value = ws.Range("C2:C" & LastRow).Value
'convert the formula to its value
End Sub