作者cutekid (可爱小孩子)
看板Office
标题Re: [算表] vba一行改成多行
时间Wed May 31 08:43:41 2023
如图:
https://imgur.com/4BS1dAV
C2公式(下拉右拉):
=REPT("V",(MOD(MAX(C$1-$B2,),3)=2)*(C$1<$A2*3+$B2))
※ 引述《instarfree (Elisa)》之铭言:
: 软体:excel
: 版本:2019
: 使用chatgpt写VBA
: 只写一行是正确的
: 请他运算整张算表就开始错误连篇..
: 希望版上大大协助
: Sub FillVBasedOnOffset()
: Dim rngNumbers As Range
: Dim rngOutput As Range
: Dim targetNumber As Integer
: Dim outputCount As Integer
: ' 设置数字范围和输出范围
: Set rngNumbers = Range("I1:AL1")
: Set rngOutput = Range("I2:AL2")
: ' 储存 H2 的数值
: Dim h2Value As Variant
: h2Value = Range("H2").Value
: ' 清空输出范围
: rngOutput.ClearContents
: ' 获取目标数字和输出次数限制
: targetNumber = Range("H2").Value + 2
: outputCount = Range("B2").Value
: ' 填充V
: For Each cell In rngNumbers
: If cell.Value = targetNumber Then
: If outputCount > 0 Then
: cell.Offset(1).Value = "V"
: outputCount = outputCount - 1
: End If
: targetNumber = targetNumber + 3
: End If
: Next cell
: ' 恢复 H2 的数值
: Range("H2").Value = h2Value
: End Sub
: https://imgur.com/44RX0oR
: 实际用VBA操作後2列是正确的
: 如何改成可以运行在第2列~第58列
: 目标
: 开始日期+2则打V 之後每个三天打V(打勾日期+3)
: 打勾的次数不超过B栏的数字
: 如果有可以用公式的解法更好(可以在googlesheet上执行)
: 但是CHATGPT写不太出来...
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 136.226.241.106 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1685493822.A.F51.html