• ベストアンサー

エクセルで質問です。

たびたびすみません。教えてください。 エクセルで下記のようなシートがあります。   a   b   c   188  824  584   515  514  748       ・        ・    空白行       合計 99999 このシートを別のシートにa欄とb欄をコピーだけをコピーし、 空白行がでてきたら合計欄を記述させるという方法はありますか? ※コピー元のシートの行数は毎回変わります。 説明不足ではありますが、よろしくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

(1)関数式による回答が出れば結構なんでしょうが、出来なさそうな気がします。 (2)VBAなら、簡単な初心者の組むプログラムで出来ます。最終行の次ぎのセルにendと入れて実行してください。セルの空白とは、Deleteキーを押したと同じ状態を意味するものとする。 Sub test01() Worksheets("sheet1").Activate s1 = 0 :s2=0 '小計は0にする。 i = 1 '第1行目から始める。 p01: If Cells(i, "A") = "end" Then Exit Sub 'endが 'あると処理終わり If Cells(i, "A") = "" Then 'セルは空白か Cells(i, "A") = s1 Cells(i, "B") = s2 '空白なら小計をセット  Cells(i, "A").Interior.ColorIndex = 8 '色付け s1 = 0 : S2=0 '小計を0にする Else s1 = s1 + Cells(i, "A") '小計にセルの値を加える s2 = s2 + Cells(i, "B") End If i = i + 1 '1行下を対象にする GoTo p01 End Sub やり方は、ツール-マクロ-VBE 挿入-標準モジュールの画面に上記を貼りつけ。 メニューの実行-SUB・・の実行。

natukawa01
質問者

お礼

先ほどに引き続いてご回答ありがとうございました。 大変参考になりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • NIWAKA_0
  • ベストアンサー率28% (508/1790)
回答No.1

要するに、毎回行数が変わる表での合計、ということでしょうか? あらかじめ行数多めで表を作っておき、 余った空白行を選択→[表示しない]で隠しちゃうのは、ダメですか? (隠した行の上下を選択支、[再表示]で元に戻ります)

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで、毎回違う行数をコピーするマクロ

    こんにちは Excel2003 を使用しています。 マクロを使って毎回行数が違うデータをコピー貼り付けをしたいのですが よく分かりません。コピー先の最終行そろえのコピーの方法もお願いします。 毎回データ行数が違う2つの表を、新しい表の上の部分と下の部分に分けてコピーしたいのです。 コピー元1 0~20行 コピー元2 0~20行  1と2の合計は、0~20行です。多くても20行まで。 コピー元1を1行目から、コピー元2の最下行を20行目に揃えて、 貼り付け先の表には、上部と下部の間に空白行が入っOKです。 (例) コピー元1          コピー元2  X   Y   Z         AA   AB   AC 1鈴木 千葉 男      1山本 大阪 男 2田中 東京 女      2高橋 京都 女 3                3  ↓↓ 貼り付け先  A   B   C 1鈴木 千葉 男 2田中 東京 女 3 ・ ・ 18 19山本 大阪 男 20高橋 京都 女 のように上部と下部に分けてコピーしたいのです。 行数は毎回ちがい、合わせて20行の場合は、空白行はなくなります。 説明が、つたなく申し訳ありませんが よろしくお願いいたします。

  • Excel検索等関数

    Excelのデータで同じ列の中に番号が重複している値を探し出しなおかつ任意の行数に出す関数はありますか? Sheet1   |Sheet2   A  B |   A  B        1 あ 10 | 1 あ  10 2 あ 11 | 2 あ  11 3 い 21 | 3 い  21 4 う 22 | 4      ←A4:b4は、「い」が2行ないので空白        | 5 う  22        | 6      ←A6:b6も、「う」2行ないので空白 このように、縦の重複したセルを検索して、指定行数内の場合は、空白となる関数式があればお教えください。

  • マクロを使用し、EXCELのデータから必要な部分を取り出し2つのsheetに貼り付けたい

    条件 EXCELのデータ A列からL列まで 複数行(行数は、決まっていない) (例) 40行ほどあるデータを見て 1行目から10行目までをsheet1に 12行目から20行目までをsheet2に貼り付けたい場合。 11行目のA列(空白になっている)に手入力で「a」と入力 21行目のA列(空白になっている)に手入力で「b」と入力し、 1行目から「a」のある行までをコピーし、sheet1に貼り付ける 「a」のある行より1行下から「b」のある行までをコピーし、sheet1に貼り付ける 以上のことをマクロで実行する方法を教えて下さい。

  • Excel でのデータのマージ

    ◆シートA 下記の情報が載っています。 行数 名前 性別 好きな食べ物 1行目 太郎 男 (空白) 2行目 桜子 女 (空白) 3行目 次郎 男 (空白) 4行目 三郎 男 (空白) 5行目 菊子 女 (空白) 6行目 梅子 女 (空白) (以下略) で、別のシートには、下記のような情報が載っています。 ◆シートB 別のシートで、下記のような情報があります。 行数 名前 性別 好きな食べ物 1行目 桜子 女 マシュマロ 2行目 菊子 女 チョコレート 3行目 梅子 女 キャンディー (以下略) このシートに出てくるのは、女性だけですが、 出てくる人の順序は、シートAと同じ順序です。 /***********************************************/ ◆質問◆マージをするにはどうすればよいでしょうか? シートAで、性別女性でフィルターを掛けると 名前 性別 好きな食べ物 桜子 女 (空白) 菊子 女 (空白) 梅子 女 (空白) となるので、シートBの「好きな食べ物」の列をコピーして、 シートAに貼り付けたら、全然変な風になってしまいました。 下記のようになってしまいました。 1行目 太郎 男 マシュマロ 2行目 桜子 女 チョコレート 3行目 次郎 男 キャンディー 4行目 三郎 男 (空白) 5行目 菊子 女 (空白) 6行目 梅子 女 (空白) (以下略) /***********************************************/ フィルターされている行にだけ、データを貼り付けたいのですが、 どのようにして、マージをすれば良いのでしょうか?

  • エクセルの数式についての質問です。

    下記の数式で、「一覧!A4:EG1003,137」の「一覧!A4:EG1003,137」が空白の場合に、空白で返す場合の数式をお教えください。 現状の数式 =VLOOKUP(B1,一覧!A4:EG1003,137) 補足説明 エクセルのシート(一覧シート)のA4:EG1003内で137列目が空白の場合は空白で返す数式にしたいです。 VLOOKUPを使用しているので、別シートのB1セルには一覧シートの専用番号の行の値を入力するとその行が全て別シートに反映される形になっています。その時に空白の個所があると0表示になってしまうので、空白は空白で返したいです。

  • エクセルでセルの参照

    見積もり書をエクセルで毎回手打ち(A4を何ページも)をしています。 そこで毎回悩むのが項目を途中で挿入したい場合に毎回全て一つづつ下へずらしています。 なぜならただの項目の羅列ではなく、1ページ分の上下に会社名など項目があるためにただ行を挿入することができません。 そこで考えたのですが別のシート(シートA)に項目を羅列していってそれを記入するシート(シートB)に参照するということです。 やってみたのですがうまく出来ません。 まず、 ・空白の欄には0を表示しないようにする →IFを使って””(空白)を挿入しました。 しかし、試しにシートAに内容を羅列して行を挿入してみたのですがシートBには空白行が挿入されずに数式が1行分飛ばされてしまいます。 =IF(A1="","",A1) =IF(A3="","",A3) =IF(A4="","",A4) となります。(A2に空白挿入) また、相対・絶対参照にしてもダメでした。 構想としてはマクロ(全くわかりませんが)でボタンを押すとシートBに情報が更新されるようなものもできるのかなと。 それならば空白を挿入しても、行を削除しても「更新」ボタンを情報が更新されるから問題ないのかなと。 ちなみに記入内容は、数字、文字両方あります。 よろしくお願いします。

  • <エクセル>マクロを使ってデータを入力したいのですが・・

    エクセル初心者のため、 どなたかご存知の方がいらっしゃいましたら教えていただけないでしょうか。 エクセルで、ある申込書のフォームにデータ(氏名・フリガナ・生年月日・年齢等を入力したいのですが100名分くらいあるためマクロを作って元データからコピーできれば・・と考えています。 100人分の元データはSheet1にあり、 1名につき1行で、A1に氏名、B1にフリガナ、C1に生年月日・・・(~F1まで)となっています。(~100行目まで) そのデータをSheet2にある申込書フォームの該当欄にコピーしたいのですが、簡単な方法はありますでしょうか。 Sheet2には10名分の入力欄があるので、、 Sheet1の1行目の人のA1(氏名)のデータをSheet2のB12(氏名入力欄)へ、 Sheet1の2行目の人のA2(氏名)のデータをSheet2のB14(氏名入力欄)へ、 ・・・・・ Sheet1の10行目の人のA10(氏名)のデータをSheet2のB30(氏名入力欄)へ、 という感じでコピーしていきたいです。 (フリガナ、生年月日、年齢などそれぞれ欄があります) とりあえず10人分ずつSheet2にコピーできるマクロが組めれば大変助かるのすが・・・。 説明も上手にできず申し訳ないのですが・・・。 私の知識レベルでは100人分こぴぺこぴぺする方が早いのかもしれませんが どなたかアドバイスをいただければ大変うれしいです。 どうか、宜しくお願いいたします。

  • エクセル関数について

    下記のようなエクセルのデータを作りたいのですが、どのような関数を使えばいいかわかりません。 シート1           シート11           シート12            A    B         A    B            A    B  1  田中 500円    1 田中  500       1 田中  500 2               2 シート2    A    B         A   B             A    B  1  伊藤 300円     3 伊藤 300         2 伊藤  300 2  佐藤 400円     4 佐藤 400         3 佐藤  400 このようにシート1から10まで2行入力する欄を作ります その中から大事なデータだけを集計するため一度シート11に反映させます この時2行目が空欄の場合はシート11も空欄になっています。 そしてこのシート11から空白部分を除いて順番に並べるシート12を作りたいです。 シート11は=Sheet1!A1のように単純に反映ができるのかと思うのですが シート12へ空白を除いて反映させる方法がわかりません。 わかりづらい質問でも申し訳ありませんが  何卒よろしくお願い致します。  

  • エクセル 行数指定し一つのセルに改行込で入れる

    日本語が下手でもうしわけないです。 エクセルのマクロにて、行数指定指定したセルを別セルに 改行を含めて入れたいのです。 具体的なやりたいこととしては、 A列に不定期間隔で不定形の文字列が入力されていて、(間は空白) その文字列から文字列の行数を読み、 B列の同じ行数分のセルをひとまとまりとし、 別シートのA1に改行込みで入れる。 次のまとまりはA2に次はA3に… といった動作をさせたいです。 例. 1.A1,A6,A9に文字列があるとする。間は空白 文字列間の行数を読む (1)A1-A5 (2)A6-A8 (3)A9-最終行 2.A列で取得した行数と同じ行数をB列で指定 (1)B1-B5 (2)B6-B8 (3)B9-最終行 3.B列で指定したセルをひとまとまりとして 別シートのA1から順に改行込みで入れる (1)シート2のA1 B1(改行) B2(改行) B3(改行) B4(改行) B5(改行) (2)シート2のA2 B6(改行) B7(改行) B8(改行) (3)シート2のA3 B9(改行) ・ ・ 最終行 ####### マクロでの実現を考えているのですが、 マクロ初心者でさっぱりわかりません。 どなたか、マクロでの記述例を教えて頂けないでしょうか。 また、関数で実現できるのであれば、そちらも教えて頂きたいです。 宜しくお願いします。

  • エクセル(2003)のコピーと貼り付けについて。

    エクセル(2003)のコピーと貼り付けについて、操作を自動化したいです。 VBA初心者です。 同じフォルダ内にAファイルとBファイルがあります。 Aファイルにはシート1からシート4まで有り、シート1とシート2にシート3と4を比較したデータを表示させています。 シート1とシート2はA1からG1まで項目として、A2からデータが表示されます。約20行程度、表示される行数は毎日変わります。 Bファイルにはシート1しかありません。A1からG1まで項目とし、A2からデータが表示されています。約100行。毎日変わります。 (Aファイルのシート1とシート2の表示されているデータを貼り付けていく為) Aファイルのシート1に表示されているデータ(A2から)を仮に20行としBファイルの101行目(入力されているデータのすぐしたの行)に貼り付け、Aファイルのシート2に表示されているデータ(A2から)を仮に20行とし、120行目に貼り付け。 毎日コピーする範囲や貼り付けをするセルが変わっていく、固定の範囲、セルではない。この作業を毎日、コピー貼り付けで操作しています。 この操作をラクにしたいです。 困っていることは、コピーする範囲が毎日変わってしまう。(行数が増減するため) 貼り付けるセルも変わってしまう、(行数が増減するため) 分かりずらい説明になっていましたら、申し訳ないです。 よろしくお願いします。

専門家に質問してみよう