EXCEL マクロでお伺い致します。マクロ初心者なのですがXの列の各セルに下記の様な数式が入っています。=IFERROR(ROUND(+W3*115/3.22, 0),0)=IFERROR(ROUND(+W4*115/2.94, 0),0)=IFERROR(ROUND(+W5*115/3.37, 0),0)=IFERROR(ROUND(+W6*115/0, 0),0)=IFERROR(ROUND(+W4*115/6.02, 0),0)=IFERROR(ROUND(+W5*115/5.87, 0),0)=IFERROR(ROUND(+W6*115/3.34, 0),0)=IFERROR(ROUND(+W7*115/3.68, 0),0)=IFERROR(ROUND(+W8*115/3.76, 0),0)=IFERROR(ROUND(+W9*115/2.93, 0),0)=IFERROR(ROUND(+W10*115/2.92, 0),0)=IFERROR(ROUND(+W11*115/3.28, 0),0)=IFERRORで始まる内容のセルの場合*115の場所を、J1セルに120と入力が有れば、*120と変更し130と入力があれば、*130と変更し下のセルに移動し同じ動作をします、もし=IFERRORで始まらない内容で有れば、何も変更せず下のセルに移動する。始まりは、X3のセルから始まりX800のセルまで繰り返したいです。X3からX800まで動作完了するまではJ1のセル内容は、変更しません。この様なマクロは可能でしょうか?ご教授の程、何卒宜しくお願い致します。

Excel

1件の回答

回答を書く

1059320

2026-03-31 06:50

+ フォロー

* と / がそれぞれ1つずつしかないという前提で。



Sub Sample()

Dim i As Long

Dim buf As Range

Dim spl1, spl2



For i = 3 To 800

Set buf = Cells(i, \u0026quot;X\u0026quot;)

'数式が =IFERROR で始まる場合

If InStr(buf.Formula, \u0026quot;=IFERROR\u0026quot;) Then

'* で分割する

spl1 = Split(buf.Formula, \u0026quot;*\u0026quot;)

' / で分割する

spl2 = Split(buf.Formula, \u0026quot;/\u0026quot;)

'J1の値で挟む

buf.Formula = spl1(0) \u0026amp; \u0026quot;*\u0026quot; \u0026amp; Range(\u0026quot;J1\u0026quot;).Value \u0026amp; \u0026quot;/\u0026quot; \u0026amp; spl2(1)

End If

Next i



End Sub

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

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有