初めまして、よろしくお願いします。
データーで
A B C D E ・・・
1 7 2
2 7 0
3 #DIV/0!
4 3 6
5 8 3
6 3 4
・ ・ ・ ・ ・
・ ・ ・ ・ ・
100 4 5
という表がありますA1からA10までには(D列の1 TO 10値-(D列の11 TO 20))/(D列の11 TO 20)を表示させたいと思います。For i =1 to 10 、For a =11 to 20 を使用するやり方だとは思いますがうまくいきません。たまに3行のようなエラーの行があります。関数式ではなく、VBAで解る方、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
質問が理解できなかったのですが
A1=(D1-D11)/D11
なのか
A1=(SUM(D1:D10)-SUM(D11:D20))/SUM(D11:D20)
なのか?
数式の入力なのか値のみの入力なのか?
A1=(D1-D11)/D11
:
A10=(D10-D20)/D20
で値の貼り付けとすると
for~nextも必要ないかと
Sub test0()
Range("a1:a10").Value = Evaluate("=(d1:d10-d11:d20)/d11:d20")
End Sub
for~nextを使用するなら
Sub test1()
Dim i
On Error Resume Next
For i = 1 To 10
Cells(i, 1).Value = (Cells(i, 4).Value - Cells(i + 10, 4).Value) / Cells(i + 10, 4).Value
Next i
End Sub
参考まで
解答ありがとうございます。ご指摘の通り、確かに質問の仕方に問題があったようで申し訳ありません。参考解答して頂いたように
A1=(D1-D11)/D11
:
A10=(D10-D20)/D20
で値の貼り付けです。
解答頂きました参考解答は、大変役に立ちました。ありがとうございます。
No.2
- 回答日時:
>For i =1 to 10 、For a =11 to 20 を使用するやり方だとは・・
iとaは2つ使わないほうが良い。
iとi+10 を使う場合と思う。
質問を変に下手なコードをのせて推測させず、したいことを式や実数字の計算例で書いたほうが、読者や質問には良い。
Sub test01()
For i = 1 To 10
d1 = Cells(i, "D")
d2 = Cells(i + 10, "D")
If IsError(d1) Or IsError(d2) Then
Cells(i, "A") = ""
Else
Cells(i, "A") = (d1 - d2) / d2
End If
Next i
End Sub
のようなことになるのかな。
こんなのVBAでやらなくても関数で出来るのではないか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Excel(エクセル) VBA オリジナル関数で選択セルの合計を作成したい 3 2023/03/19 19:45
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) 指定列最終行までのスペースを改行するVBAについて 2 2022/06/01 19:50
- Visual Basic(VBA) 実行時エラー´5854´ 文字列型パラメーターが長すぎます。 3 2023/06/08 21:17
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) ExcelVBAで質問です。離れた二次元配列を一つにしたい 4 2022/07/26 19:06
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 6 2022/06/08 12:55
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの複数条件下での標...
-
SUMIFとCOUNTIFを合わせたよう...
-
【スプレッドシート】指定の日...
-
エクセルで年月の合計の関数を...
-
ある一定時間を超えた場合の超...
-
エクセルで、一つのセルに二つ...
-
Excelの表以外が暗い?
-
EXCEL 経過年数の平均を求めた...
-
スプレッドシート、Excelでの数...
-
Excel:月またぎを含む日数の差...
-
エクセルにて「週」から日付を...
-
Excel2007での条件付き書式につ...
-
エクセルで角度の計算できますか?
-
excelでの文字を隠す方法
-
エクセルで「ぶら下げ」書式を...
-
エクセル シフト表 6連続勤...
-
Excelで列幅を自動的に調整
-
【エクセル】日付入力
-
エクセル くじ引きの口数が別々...
-
ある数値から始まるものをカウ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SUMIFとCOUNTIFを合わせたよう...
-
エクセルでの複数条件下での標...
-
ある一定時間を超えた場合の超...
-
エクセルで年月の合計の関数を...
-
【スプレッドシート】指定の日...
-
EXCEL 経過年数の平均を求めた...
-
エクセルで日付を数字+アルフ...
-
Excelにいついて質問です。
-
エクセルにて「週」から日付を...
-
Excelの表以外が暗い?
-
エクセルで「ぶら下げ」書式を...
-
エクセルで角度の計算できますか?
-
隣のセルに入力したら自動的に...
-
エクセルで、一つのセルに二つ...
-
EXCEL 年月表示をするVBAを教...
-
excelでの文字を隠す方法
-
エクセル2003 MONTH関数で
-
Excel:月またぎを含む日数の差...
-
SUMIF関数の結果が0になってし...
-
エクセル シフト表 6連続勤...
おすすめ情報