• ベストアンサー

すでに入力されている数字で計算をしたい

数字が入力されている表があります D列E列F列の数字をそれぞれB列の数字で割り算をしたいと考えています 割り算の答えは同じそのセルに上書きするようにします 別のセルで計算した結果を値貼り付けでもってきていたのですが、 マクロで処理できればと考えております 2行目から数字が入力されているのですが、 最終行が決まっておりません。 答えは全て小数点第2位までで表示したいと考えています どなたかご教授いただけますでしょうか よろしくお願い致します

質問者が選んだベストアンサー

  • ベストアンサー
  • n_na_tto
  • ベストアンサー率70% (75/107)
回答No.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)
回答No.1

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

関連するQ&A

  • 関数中にセルに入力した値を反映させて計算を行いたい

    こんにちは Excelを用いた計算を行っているのですが 自分の知識では出来なかったために皆様の知恵を借りたいと思っています Excelで単純な足し算を行いたいのですが とあるセルに入力した値によって計算範囲を変更したものを作りたいと考えています 仮にA行1列からA行20列まで各セルに1,23…20と順番に1つの数字が各セルに入力されていたとします この時, B行1列のセルに5という数字が入力されていたら C行1列にA行1列数字とA行5列の数字の和が入力される (イメージとしたら結果として1+5より6が出力される) B行1列のセルに10という数字が入力されていたら C行1列にA行1列数字とA行10列の数字の和が入力される (イメージとしたら結果として1+10より11が出力される) ような関数を作りたいと考えています 自身の甘い考えで B行1列のセルに5という数字が入力されていたら C行1列にA行1列数字とA行5列の数字の和が入力されるのは C行1列に=A1+A(B1)と入力したら出来るのではないかと考えていたのですが どうもできないみたいです なにか方法等浮かぶ方がいらしましたら回答をお願いします

  • Excelでセルに「小計」と入力したら自動に計算してくれる関数

    行タイトルが品名、数量、金額の表で、品名の列に途中で「小計」と入力すると、金額の列に数字が表示されるようにしたいです。 行が長くなり、「小計」が数回にわたり出てくる場合は、「前回小計をした次のセルから今回小計するセルの前まで」を計算させる訳ですが、どんな関数を使えばいいのかわかりません。(マクロを組むようになるのでしょうか) どうぞ、よろしくお願いいたします。

  • エクセル (1)行削除 (2)列追加と計算式入力 

    エクセル マクロで自動で計算させたいのですが、マクロの記録しかやったことがない者です。 添付画像のように、 元のデータとして、A列に黄色のセルがある表があります。 やりたいことは2種類あって (1):A列に黄色がある行のみを残す。 (1)-1:(1)をやった後に、列を追加し、計算式をデータがある行分だけ入力して計算させる。 (2):A列が無色の行のみを残す。 (2)-1:(2)をやった後に、列を追加し、計算式をデータがある行分だけ入力して計算させる。 (1)、(1)-1と、(2)、(2)-1それぞれのマクロを教えてください。 色の指定の違いだけになるかと思いますが、良く判らないので、お願いいたします。 また、例えば赤色などへの変更も可能か、教えて欲しく。 行を残す内容と、列追加や、計算式入力等、それぞれ判るように、コメント行を入れていただけると助かります。 申し訳ありませんが、お願いいたします。

  • Excelで上書き計算で数字を入力したいのですが

    Excel2003です。例えば既に100と入力しているセルに200と入力し、セル内の数字が300になる方法がありませんか?。思い違いかも知れませんが、入力する前に+200と入力すればセルの中が上書き計算され300になったような記憶があるのですが。設定の方法がありましたら教えて下さい。宜しくお願いします。

  • 有効数字の計算の添削お願いします!

    有効数字の計算の添削お願いします! 8.002×(1.2500×10^-1)+9.25 (m/s^2) (s) (m/s) を計算したのですが(2行目の括弧内は物理単位です)、以下のような手順で合ってますでしょうか? 8.002×(1.2500×10^-1) =8.002×0.12500 =1.00025 となるが、有効数字4桁+1桁(小数第5位の『5』を四捨五入)で、1.0003 1.0003+9.25 =10.2503 となるが、有効数字3桁で、10.3 よって、最終的な答えは 10.3 (m/s) 色々調べてみたのですが、頭がこんがらがってしまって・・・合ってるか不安です。 皆さんのお知恵を貸してください。 よろしくお願い致します。

  • Excel 2003 計算結果をそのまま数字に

    Excel 2003で、A1に計算結果を求める式を 入力をするとします。 他のセルに入力されている値を足したり 引いたりして 例えば A1の計算結果が2となるとします。 答えが出た後に 計算過程は不要なので 他のセルの数字をすべて消した場合 A1の値はゼロになってしまいますよね。 このとき他のセルの値を消しても 計算式の答えがそのまま数値として残すことは出来ないでしょうか? A1に入力した計算式などを残す必要は全くないので 2という数字を残したいです。 セルの書式設定なんかを色々さわってみましたが どうやら目の付け所が全く違うみたいで どうしてもセルに数式が残ったままで 他のセルの値を消すとA1もゼロになります。 Excelに詳しい方教えてください。

  • 計算式のコピー、貼り付け

    計算式のあるセルをコピーして貼り付けすると、行と列の値がずれて、 貼り付けされてしまいますが、計算式の、文字や値は変わらずに、針付けする方法を教えてください。

  • エクセル 文字列で入力した数字を数値にする

    エクセルで、文字列の設定で入力した数字は、[セルの書式設定]で、数値として設定しても、文字列のままになります。 (セルの左上に、文字列と分かる緑の三角が付いたままになり、表を作ってもグラフの表示は出来ません。) 数値として数字を入力をした後、[セルの書式設定]で文字列にして、再び[セルの書式設定]で数値にすると、数値にはなります。 (この場合、文字列にしても、セルの左上に緑の三角が付かず、このまま表を作ると数値(小数点以下が0の場合は小数点以下が削除されます。)の扱いとなりグラフの表示が出来ます。) 文字列で入力した数字は、数値にはならないのでしょうか? よろしくお願いいたします。

  • エクセルで結合したセル同士のコピー、貼り付けを教えてください。

    エクセルで4列を結合したもの(1つのセルは1行ですが、それが5列、5行くらいの表になっています)にある数字を別のファイルの同じような表にコピー、貼り付けをしたいのですが、できません。 コピー元には計算式の答えが出てきているので、その値だけ貼り付けようとすると、「この操作には、同じサイズの結合セルが必要です」と出てしまうのです。 表は列幅、行の高さともに全く同じなので、「同じサイズ」という意味もわかりません。 どうすれば良いのか教えてください。 ※ちなみにコピー元のファイル自体をコピーして、そのコピー元からコピー先のファイルの表に値だけ貼り付ける作業は普通にできました。

  • Excelのマクロを使って数字を入力したいのですが、方法がわかりません。

    ExcelのG列とI列にランダムに3桁の数字を作成しました(=ROUND(RAND()の数式を使いました)。 あいだのH列には‐(ハイフン)が入力されています。 これらを別のシートの同じ列に形式を“値”と選択してコピーしました。これらの数字をB列に入力したいのです。 具体的には、たとえば、G1セルに265,H1セルに-、I1セルに849と入力されているとしたら、B1セルに265-849と入力されるように設定したいのです。 それぞれの列にはランダムな数字が並んでおり、対応するB列のセルに同様に入力されるように設定したいのですが、方法がわかりません。マクロを使えばよいとのことですが、どなたか詳しく教えてください。 よろしくお願いします。

専門家に質問してみよう