并提前感謝您的幫助。
基本上我想要做的是從 Sheet1.Cells(2, 3) 中的字串中的第一個字符開始的每 66 個字符(總共是 20 次,字串長度總共是 1,320 個字符)。一旦我得到第 66 個字符的 20 次,我想在 Sheet2.Cells(i, 2) 上列印這 20 個實體,其中 i = 2 到 21。最后,我想回圈到 Sheet1.Cells 的下一個字串(3, 3),做同樣的計算,并將結果列印在 Sheet2.Cells(i 20, 2) 中,其中 i = 2 到 21。
下面是我擁有的代碼,它確實有效。問題是我必須重復這些代碼塊一千多次。有什么方法可以壓縮它,所以它會計算每一行直到它到達 Sheet1.Cells(2, 100)?附上描述我正在嘗試完成的任務的螢屏截圖鏈接。https://imgur.com/a/aBrlAzd
Sub Decode_String()
Dim Fault_Block(2000)
For i = 2 To 21
For j = 1 To 20
Fault_Block(i) = Mid(Sheet1.Cells(2, 3), (66 * j) - 65, 4)
Sheet2.Cells(j 1, 2) = Fault_Block(i)
Next
Next
For i = 22 To 41
For j = 1 To 20
Fault_Block(i) = Mid(Sheet1.Cells(3, 3), (66 * j) - 65, 4)
Sheet2.Cells(j 21, 2) = Fault_Block(i)
Next
Next
For i = 42 To 61
For j = 1 To 20
Fault_Block(i) = Mid(Sheet1.Cells(4, 3), (66 * j) - 65, 4)
Sheet2.Cells(j 41, 2) = Fault_Block(i)
Next
Next
End Sub
uj5u.com熱心網友回復:
你在正確的軌道上,你只需要在你的邏輯周圍添加一個回圈來移動 Sheet1 單元格
Sub Decode_String()
Dim Fault_Block(2000)
Dim counter
' loop through cells
For c = 2 To 100
For j = 1 To 20
counter = counter 1
Fault_Block(counter) = Mid(Sheet1.Cells(c, 3), (66 * j) - 65, 4)
Sheet2.Cells(j ((c - 2) * 20) 1, 2) = Fault_Block(counter)
Next
Next
End Sub
如果由于其他原因不需要 Fault_Block 陣列,則可以將其簡化為:
Sub Decode_String()
' loop through cells
For c = 2 To 100
For j = 1 To 20
Sheet2.Cells(j ((c - 2) * 20) 1, 2) = Mid(Sheet1.Cells(c, 3), (66 * j) - 65, 4)
Next
Next
End Sub
uj5u.com熱心網友回復:
以下是濃縮的回圈:
Sub Decode_String()
For i = 2 To 21
For j = 1 To 20
Sheet2.Cells(j 1, 2) = Mid(Sheet1.Cells(2, 3), (66 * j) - 65, 4)
Sheet2.Cells(j 21, 2) = Mid(Sheet1.Cells(3, 3), (66 * j) - 65, 4)
Sheet2.Cells(j 41, 2) = Mid(Sheet1.Cells(4, 3), (66 * j) - 65, 4)
Next
Next
End Sub
如果您希望它一直回圈到第 100 行,請嘗試以下操作:
Sub Decode_String()
For i = 2 To 21
For j = 1 To 100
Sheet2.Cells(j 1, 2) = Mid(Sheet1.Cells(2, 3), (66 * j) - 65, 4)
Sheet2.Cells(j 21, 2) = Mid(Sheet1.Cells(3, 3), (66 * j) - 65, 4)
Sheet2.Cells(j 41, 2) = Mid(Sheet1.Cells(4, 3), (66 * j) - 65, 4)
Next
Next
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/341094.html
上一篇:VBA/Excel,為什么IF條件對這段代碼中的行高沒有影響?
下一篇:如何根據行值對列進行動態排序
