[算表] vba一行改成多行

看板 Office
作者 instarfree (Elisa)
時間 2023-05-30 03:45:46
留言 0則留言 (0推 0噓 0→)

軟體: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), 來自: 114.41.61.207 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1685389548.A.DD9.html

您可能感興趣