excel - For循环内的if语句?
问题描述
我正在尝试在 Excel 中使用此代码从 AW 列中获取产品颜色,然后将 J 列中的值替换为该产品颜色的 SKU。它可以工作,除了它将公式粘贴到每一行的 AY 列中,而不仅仅是 J 列值为“WCblack”的行,这样会导致它运行得很慢。
有什么想法可以让我只将公式放在 J 列值为“WCblack”的行中吗?谢谢!
Sub Macro1()
Dim lastRow As Long, i As Long
lastRow = Cells(Rows.Count, "K").End(xlUp).Row
For i = 2 To lastRow
If Cells(i, "J").Value = "WCblack" Then
Range("AY2:AY" & lastRow).Formula = "=TRIM(LEFT(AW2,FIND(CHAR(10),AW2)-1))"
If Cells(i, "AY").Value = "Color: Red" Then
Cells(i, "J").Value = "WCred"
ElseIf Cells(i, "AY").Value = "Color: Gold" Then
Cells(i, "J").Value = "WCgold"
ElseIf Cells(i, "AY").Value = "Color: Blue" Then
Cells(i, "J").Value = "WCblue"
End If
End If
Next
End Sub
解决方案
推荐阅读
- vue.js - 如何确保 Vue 组件不显示
- r - 如何在R中保持变音符号?
- c# - 我试图将用户输入创建到事务日志中的列表集中:无法将字符串转换为 int:for 'items.Add(n.name, n);'
- c# - UML 类图 - 我们是否在此处包含部分类,例如 usercontrols 和 MainWindow?
- java - 使用 Redis 时的序列化问题
- spring - Spring Boot (Netflix) Eureka 副本
- google-apps-script - 我想问一下 Google App Script js 不工作
- celery - Celery - 多个环境、工作人员和任务集给没有注册任务的工作人员
- javascript - 带有 If 语句的循环运行缓慢,太慢了
- caching - Apollo 客户端中如何缓存 2 个非常相似的 Graphql 查询?