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