- ベストアンサー
すでに入力されている数字で計算をしたい
数字が入力されている表があります D列E列F列の数字をそれぞれB列の数字で割り算をしたいと考えています 割り算の答えは同じそのセルに上書きするようにします 別のセルで計算した結果を値貼り付けでもってきていたのですが、 マクロで処理できればと考えております 2行目から数字が入力されているのですが、 最終行が決まっておりません。 答えは全て小数点第2位までで表示したいと考えています どなたかご教授いただけますでしょうか よろしくお願い致します
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
それから形式を選択して貼り付け の方法なら Sub test2() Dim myRng As Range, newRng As Range Set myRng = Range(Range("B2"), Range("B" & Rows.Count).End(xlUp)) Set newRng = myRng.Offset(, 2).Resize(, 3) myRng.Copy With newRng .PasteSpecial Paste:=xlPasteValues, Operation:=xlDivide, _ SkipBlanks:=True .NumberFormatLocal = "0.00" End With End Sub こっちは、単に表示形式で0.00の形にしています。
その他の回答 (1)
- n_na_tto
- ベストアンサー率70% (75/107)
B列のデータ範囲コピー →D:F列のデータ範囲選択 →形式を選択して貼り付け、値、除算 [→書式設定] でじゅうぶんですが.. Sub test() Dim cntRow As Long Dim i As Long, j As Long 'B列最終行取得 cntRow = Range("B" & Rows.Count).End(xlUp).Row For i = 2 To cntRow '2行から最終行まで For j = 2 To 4 'D列からF列まで With Cells(i, 2) If IsNumeric(.Value) Then 'B列が数値で... If CSng(.Value) <> 0 Then '0でなければ割り算実行 .Offset(, j).Value = Format(.Offset(, j).Value / .Value, "0.00") End If End If End With Next j Next i End Sub