Извиняюсь, если это простой вопрос, но у меня есть макрос, который делится, как и должен, но он не будет копировать и вставлять содержимое из одной ячейки в другую, как это предполагается делать.Ниже приведены примеры с ожидаемым результатом.
Sub master2()
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) / 12
remainder = 0
Else
findFifteen = 1
remainder = pair.Offset(0, 2) Mod 12
End If
For Each accumulator In Range("A14, B14, C14, D14, E14, F14, G14, H14, I14, J14, K14, L14")
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
Range("E" & found).Value = pair
found = found + 1
End If
Next pair
Application.ScreenUpdating = True
End Sub
Пример с ожидаемым результатом.
Согласно моему изображению в Excel, мой макрос должен найти указанные ячейки, которые содержат 15 как последнее число,Ячейка B30 имеет номер 7-15.Мне нужен макрос, чтобы перейти в ячейку ниже (B31 и использовать число 1 в этом примере), а затем выполнить поиск в следующем диапазоне ячеек: E1: E12, чтобы найти 1 (ячейка E1).Найдя, поместите 7-15 и увеличьте последнюю цифру на 1 (чтобы она стала 7-16) в соседней ячейке справа (F1).Сделайте то же самое со всеми ячейками: B30, F30 и J30, но только если они содержат 15 (1-15 или 7-15 и т. Д.) В качестве последнего числа.После этого удалите все содержимое в ячейках B30, C30, D30.В моем листе Excel есть два примера, где должно происходить одно и то же.
![excel image](https://i.stack.imgur.com/fG0je.jpg)