ここから本文です

エクセルシートに連続した行と列にデーターが入っています。

tompqjさん

2014/10/910:27:29

エクセルシートに連続した行と列にデーターが入っています。

このデーターをある一定の数字の行のかたまりにして、その後に4行空白行をいれて、その内3行に数式(関数)を入れたいのですが、マクロでも結構ですが簡単な方法をご教授下さい。

私の想像ですが、まずある一定行のかたまりに、4行毎空白行を挿入してがら
ある場所に数式(関数)を書いて、フィルターで空白行にコピーすれば良いのかなと
思っています。

宜しくお願い申し上げます。

補足質問の説明が悪かったことをまずお詫び致します。
私が質問したのは、例えば1000行4列の大きなデーターがあって、この1000行に例えば10行毎に空欄を入れ、更にこの空欄に数式を挿入すると言った、繰り返しの必要なマクロをご教授頂きたかったのです。
勿論、最初に書いた質問では、1回の操作で済んでしまいます。
繰り返し命令を行ないたいので、VBA等の記述を希望しています。

早速、返答を頂いた方には申し訳ありませんが、質問の意図は上記のようなものです。
勿論、空欄を作る際に、同時に数式も入れてしまっても構いません。

こんな感じにしたいのです。

1 456 569 256
2 489 365 255
3 477 366 267
4 556 369 258
5 123 456 789


1000 658 356 456


1 456 569 256
2 489 365 255
3 AVR SD MAX (この例では2行毎に数式のはいった行(空欄に埋める)の場合です)
4 477 366 267
5 556 369 258
6 AVR SD MAX
7 123 456 789



1000 658 356 456

言葉足らずで申し訳ありません。
宜しくお願い申し上げます。

閲覧数:
259
回答数:
2
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

him********さん

2014/10/1103:30:31

>AVR SD MAX
の、意味がわかりませんが、一例として挙げておきます。

下記のコードは・・・以下の前提で!!
サンプルとして画像のように、10行分づつ間隔で行挿入し、SUM関数を入れていくとします。
数式を入れたセルは黄色に塗ります。(わかりやすくするため)
データは2行目から下方とします。
マクロ実行は、アクティブなシートとしています。
計算対象の行数を変えたい時は、※部分の j = 10 を変えてください
Application.ScreenUpdating = False
は、画面更新をさせない意味。
Application.Calculation = xlCalculationManual
は、数式の再計算を手動にする意味。
これらで処理速度のパフォーマンス上げてます。
何かあればご返信を。
ではお試しください。


Sub Sample()
Dim i As Long
Dim j As Integer
j = 10 '※計算したい行数
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
With ActiveSheet
For i = j + 2 To 5000 Step j + 1
If IsEmpty(.Cells(i - j, 1)) Then Exit For
Rows(i).Insert
With .Range(.Cells(i, 1), .Cells(i, 4))
.FormulaR1C1 = "=SUM(R[-" & j & "]C:R[-1]C)"
.Interior.ColorIndex = 6
End With
Next
End With
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

>AVR SD MAX 
の、意味がわかりませんが、一例として挙げておきます。...

  • him********さん

    2014/10/1103:33:50

    ちなみに・・・
    For i = j + 2 To 5000 Step j + 1
    の、5000は、5000行までって意味でなく、
    仮に置いてるだけです。
    データの終端セルの半端な集計範囲により、特定の条件分岐で
    ループ処理を抜けるようにしてますので気にしないでください。

  • その他の返信を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2014/10/13 07:43:46

降参 VBAに精通した素晴らしい方でした。大変お世話になりました。もっとお礼のポイントを差し上げたいのですが、変更は出来ないみたいで申し訳ありません。
私もhimawari_to_asagaoさんのように正確なVBAが書けるように頑張ります!!
この度は大変ありがとうございました!!!!

ベストアンサー以外の回答

1〜1件/1件中

a_h********さん

2014/10/1000:17:30

>私の想像ですが、まずある一定行のかたまりに、4行毎空白行を挿入してがら
>ある場所に数式(関数)を書いて、フィルターで空白行にコピーすれば良いのかなと思っています

頑張ってください。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる