vba - 在 4 列中粘贴 4 个公式
问题描述
我今天来这里是因为我作为实习生(ahum excel 支持/咖啡制造商)的任务是找到一种方法来放置 4 种不同的公式并应用它们
现在我已经尝试想出一个公式,但我不知道我是否朝着正确的方向前进:
Sub test()
Dim ws As Worksheet: Set ws = Sheets("Detail")
Dim lr As Long
lr = ws.Cells(Rows.Count, "F").End(xlUp).Row
For Each cell In ws.Range(ws.Cells(2, "F"), ws.Cells(lr, "F"))
cell.Value="IF(H2="NB","",AY2)"
Next cell
End Sub
但我有这个基本上放在并适用于 4 列:
"MFR CUSTLINE# PRICE (DYP) DELIVERY
=IF(H2="NB","",AY2) =A2 =IF(P2="","NB",P2) =IF(BR2>(D2+AM2),"STOCK",IF(AR2="0 Weeks","",SUBSTITUTE(AR2," Weeks"," WKS")))
"
4 MFR CUSTLINE PRICE 和 DELIVERY 只是列的开销,所以第 1 行,然后我必须将公式应用于列的底部,因为我可以有 5 行或 15 000
在此先感谢您的帮助和理解,因为我在 vba 或编程中的基础即使不是更少。
解决方案
不需要循环:
Sub test()
Dim ws As Worksheet
Set ws = Sheets("Detail")
Dim lr As Long
lr = ws.Cells(Rows.Count, "F").End(xlUp).Row
Dim arr
arr = Array("MFR", "CUSTLINE#", "PRICE (DYP)", "DELIVERY")
ws.Range("F1:I1").Value = arr
arr = Array("=IF(H2=""NB"","""",AY2)", "=A2", "=IF(P2="""",""NB"",P2)", "=IF(BR2>(D2+AM2),""STOCK"",IF(AR2=""0 Weeks"","""",SUBSTITUTE(AR2,"" Weeks"","" WKS"")))")
ws.Range("F2:I" & lr).Formula = arr
End Sub
推荐阅读
- java - AdroidStudio:尝试播放 mp4 但它一直显示为文本文件
- c# - xamarin.android中的c#代码未执行
- python - OpenCV:在 OCR 之前对阴影图像进行轮廓检测
- angular - routerLinkActive 不要触发好的链接
- javascript - 在 React 中有条件地显示按钮
- javascript - 遍历数组中的对象数组
- spring-kafka - Spring Kafka Consumer Retry 具有长时间的退避间隔,给出“org.apache.kafka.clients.consumer.CommitFailedException”
- amazon-web-services - 为什么使用 Rusoto 从 S3 下载文件有时会返回一个空白字符串?
- javascript - 如何使用反应钩子将 document.querySelector 转换为用户
- javascript - 使用 Javascript 创建表并根据给定的输入动态传递数据