Я разместил вопрос на сайте Stack, чтобы помочь с некоторым кодом, потому что он работает не совсем так, как я хочу. Человек любезно ответил советом ниже, но я не знаю, какие изменения должны быть внесены в мой код, потому что я не понимаю предложенное изменение. Мне было интересно, может ли кто-нибудь помочь мне изменить мой код, чтобы я мог использовать это изменение. При необходимости я могу опубликовать весь код, если это поможет. PS. прежде чем кто-то ответит, почему вы просто не спросили человека, который дал предложение: я сделал.
Совет: исправьте так, чтобы задний правый пара перемещался на 4 позиции влево.
Val(Left(pair, InStr(pair, "-"))) - 1
У меня есть макрос, который работает, но только при делении до 19.00. Когда 20.00 или выше - это число, которое нужно разделить, оно делится только на 10.00 и все. Предполагается, что любое число до 12.00 делится на 10 ячеек, а любое число после 12.00 - записывает избыточную сумму в первое число в найденной паре. Я скопировал свой лист Excel. число для деления находится в ячейке D30 (20.00).
Sub DIVIDE()
Application.ScreenUpdating = False
Dim pair As Variant, accumulator As Variant
Dim findFifteen As Double
Dim remainder As Long, found As Long
found = 1
For Each pair In Range("B30, F30, J30")
If Right(pair, 2) = 15 Then
If pair.Offset(0, 2) <= 12 Then
findFifteen = pair.Offset(0, 2) / 10
remainder = 0
Else
findFifteen = 1
remainder = pair.Offset(0, 2) Mod 10
End If
For Each accumulator In Range("A36, D36, G36, J36, M36, A40, D40, G40, J40, M40")
If accumulator.Offset(-1, 0) = Val(Left(pair, InStr(pair, "-") - 1)) Then
accumulator.Value = accumulator.Value + remainder
End If
accumulator.Value = accumulator.Value + findFifteen
Next accumulator
End If
Next pair
Application.ScreenUpdating = True
End Sub
Лист Excel:
![EXCEL SHEET](https://i.stack.imgur.com/dL5I2.jpg)