エクセルvbaについて質問です。aシートのセルA1、A2、A3...空白になるまでの値をbシートのA列に転記していくコードを教えてください条件1.aシートのセルA1、A2、A3...を順に2で割った時、割り切れた数字を転記し、その一行下段に余りの数値を記載していく例)aシートのA1=6、A2=15、A3=9の場合bシートのA1=6、A2=14,A3=1、A4=8、A5=1どうぞよろしくお願いします

1件の回答

回答を書く

1073386

2026-03-11 11:00

+ フォロー

aシートのシート名:Sheet1

bシートのシート名:Sheet2

とします。

以下のマクロを標準モジュールに登録してください。



Sub test1()

Dim ws1 As Worksheet

Dim ws2 As Worksheet

Dim lastrow As Long

Dim row1 As Long

Dim row2 As Long

Set ws1 = Worksheets(\u0026quot;Sheet1\u0026quot;)

Set ws2 = Worksheets(\u0026quot;Sheet2\u0026quot;)

lastrow = ws1.Cells(Rows.Count, 1).End(xlUp).Row 'A列の最終行取得

ws2.Cells.ClearContents

row2 = 1

For row1 = 1 To lastrow

If (ws1.Cells(row1, 1).Value Mod 2) = 0 Then

ws2.Cells(row2, 1).Value = ws1.Cells(row1, 1).Value

row2 = row2 + 1

Else

ws2.Cells(row2, 1).Value = ws1.Cells(row1, 1).Value - 1

row2 = row2 + 1

ws2.Cells(row2, 1).Value = 1

row2 = row2 + 1

End If

Next

MsgBox (\u0026quot;完了\u0026quot;)

End Sub

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有