Re: [算表] vba一行改成多行

楼主: cutekid (可爱小孩子)   2023-05-31 08:43:41
如图: 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写不太出来...

Links booklink

Contact Us: admin [ a t ] ucptt.com