• ベストアンサー

エクセルの使い方

エクセルを使い、自動で複式簿記の仕分けができるようにしたいので、次のようなことはできますか? 第1シートの表は入力されている行と入力されていない行があり、この表をもとに、第2シートに入力されている行のみを上から順に詰めた表が自動で作成されるようにすることはできますか? 説明が難しいなら、何を勉強すればいいですか?マクロとかVBAとかなら、何の部分になりますか?

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

  • ベストアンサー
回答No.2

> 1.Sheet2に表示させるデータを3行目からにする場合には、どのように変化させるのでしょうか? > 2.Sheet2に表示させるデータをA列からD列にする場合には、どのように変化させるのでしょうか? 修正しました。 Sub tenki02() Dim i As Integer, n As Integer n = 3 For i = 3 To 100 If Sheets("Sheet1").Cells(i, 1) <> "" Then Sheets("Sheet2").Cells(n, 4).Value = Sheets("Sheet1").Cells(i, 1) n = n + 1 End If Next End Sub

age1118
質問者

お礼

どうもありがとうございます。 大変助かりました。

その他の回答 (1)

回答No.1

VBAでやってみました。 シート1のA列にデータがとびとび入っていて、シート2のA列にデータを上から切れ目なく順番に表示させる方法です。 失敗するとまずいのでまずはバックアップをとってからテストしてみてください。 シート1のデータをとりあえず100行目まで対象にしましたが、For i = 1 To 100の100を変更すればいくつでもOKです。 1.Alt + F11 または、[ツール] メニューの [マクロ] をポイントし、 Visual Basic Editorをクリックします。 2.Visual Basic Editor ウィンドウのメニューから、  [挿入]→[標準モジュール] をクリックします。 3.表示されたコードウィンドウ(白く広い部分。カーソルが点滅していると思います。)に以下のマクロコード(SubからEnd Subまで)をコピペします。 4.ワークシートに戻り、[ツール] メニューの [マクロ] →「マクロ」で今貼り付けたマクロ名(tenki)を選択して、実行。 Sub tenki() Dim i As Integer, n As Integer For i = 1 To 100 If Sheets("Sheet1").Cells(i, 1) <> "" Then n = n + 1 Sheets("Sheet2").Cells(n, 1).Value = Sheets("Sheet1").Cells(i, 1) End If Next End Sub

age1118
質問者

補足

わざわざ、どうもありがとうございます。恐れ入りますが、もしできましたら、 1.Sheet2に表示させるデータを3行目からにする場合には、どのように変化させるのでしょうか? 2.Sheet2に表示させるデータをA列からD列にする場合には、どのように変化させるのでしょうか? あつかましくてすみません。

関連するQ&A

  • エクセルで数字を振り分ける

    エクセルで、例えば複式簿記の仕訳伝票のように数字を入れたらその数字が複数のセルに自動的に入力されるようにするにはどうすればいいでしょうか? 例えば、10,000円入金された場合、A1に10,000と入力すれB1,C1,D1にも自動的に10,000と入力される。 また、別のシートやOneDriveのエクセルにも入力することはできますか?

  • エクセルでの検索について

    初めて質問させていただきます。 エクセルシートに1万個程度の番号が 縦(行)に並んでいます。なお、番号はそれぞれ異なります。 あるフォームに日付と10個の異なる番号を入力すると、 エクセルシートから合致する番号を検索し、 エクセルシートの一行目に日付が自動的に入力され、 その行を色塗りしたいと考えております。 これをVBA(マクロ)にて作成したいのですが、 初心者なのでどのようにやればよい分かりません。 どうか教えていただけないでしょうか。 よろしくお願いします。

  • Excelのプログラムについて

    "Excel エクセル"で添付画像のようなプログラムの作成は可能でしょうか? (1)Sheet1の入力欄に数字を入力すると、(2)Sheet2にある総当たり表を参照して、(3)Sheet1に入力した数字で新しく総当たり表を作成する ※入力欄に入れる数字を変えれば自動で出力される総当たり表の内容も変わる 私は、エクセルのマクロとか関数の初心者で詳しいことが分からなくて困っています。 これを機に勉強しようと考えておりまして 〇エクセルでこのプログラムが書けるのか 〇どの関数を勉強すればよいのか を教えていただければと思います。 よろしくお願いいたします。

  • 自作エクセル複式簿記の青色申告用の紙出力

     青色申告で7年間保有する用にエクセルデータを紙で出力する際のことで質問です。  簿記は独学で、初歩の複式簿記の本を読んでエクセルで自作帳簿を作りました。仕訳帳に入力すれば総勘定元帳・決算書が自動作成できるようにしました。1取引入力ごとに決算書の数字が変わる仕様です。ですから年の最後に減価償却費などを入力すれば決算書が出来上がりなんです。  でも、手書き帳簿の場合だと試算表への転記のために「累計」と「試算表へ」というのを書いて残高「0」にする処理がありますよね?紙に出力する際はそれを追記しておかないと正式な複式簿記として認められないでしょうか?

  • 入力されたセルが何行あるか調べる方法

    エクセルVBAを勉強中です。 2つのsheetを使って表を作っていて、手入力したsheet1から自動でsheet2へコピーする際に、あらかじめsheet1で使っている行数だけsheet2で表を増やしておきたいのです。 sheet1で使っている行の数はどうやって表せばよいのでしょう? 教えてください。

  • EXCELでCSVファイルの読込み

    VBA超初心者でとても困っています。 仕事でEXCELのVBAを使って 現在開いているシートの中に 1つのCSVファイルからデータを読み込むのですが CSVデータの2行目をEXCELのC2へ。 4~10行目までを、EXCELのB5~B14へ マクロを使い、ボタン一つで自動入力させたいのです・・・。 Line Input も、やり方が悪いのかうまくいきません。 ヒントとなるやり方があればぜひ教えてください。

  • EXCEL マクロ・VBA 自動で連番を振る

    EXCELのマクロ・VBAについて質問です。 例えば、B列にデータを入力すると、入力した行まで自動的にA列に連番が入力されるようにしたいのですが、どういった方法があるでしょうか。 マクロやVBAについてはこれから勉強をしようと思っている素人ですので、コードとその解説をいただけると助かります。

  • エクセルのマクロを知りたい

    エクセルで,たくさんのデータが入力された【シートa】があります。 新しく【シートb】を作成して,そこに空白の表(1)~(10)までを作成します。 (ちなみに表(1)は1行から始まり100行まで,表(2)は101行から始まり200行まで・・・・といった感じです) 【シートb】の表(1)には,【シートa】でA列に「1」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。同様に,表(2)には,【シートa】でA列に「2」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。・・・というのを表(10)まで続けます。 上記のような命令をボタン一つで操作できるようなマクロを教えて欲しいのです。 お願いします。

  • ワードで作成した表の一部をエクセルに貼り付け

    MSWord2010の一つのファイルに作成した200以上の表の一部をエクセル2010に貼り付けます。 各表の1行1列目と3行2列目をエクセルのA列とB列にそれぞれ一つ目の表から順に1行目から貼り付けていきます。 最初はコピペでいこうと思いましたが、ミスが怖いので、自動的に貼り付けていきたいのです。 ほとんど素人なのですが、マクロとかで貼り付けられるのでしょうか。マクロを使う場合は少し丁寧に教えてください。

  • 他のExcelファイルのVBAコードを検索したい

    他のExcelファイルに書かれたVBAコードに、ある特定のキーワード(パス名など)が使われているかを自動的に調べるためのVBAを書きたいと思っています。 仕事で使っているマクロが書かれたExcelファイルからある特定の処理をしているマクロを含むものを検索したいのですが、検索するExcelファイルが膨大なため、順番にExcelファイルを開いてVBAコードをチェックしていく工程をマクロ化したいのです。ファイルを順に開いていく処理はマクロ化できるのですが、書かれたVBAコードのチェックをどうしたらよいか悩んでいます。 「VBAコードに対して検索する」または「VBAコードを1行ずつ変数に代入する」、「モジュールシートをテキストファイルに出力する」などの処理が自動化できれば対応できそうなのですが、そのような処理をExcelVBAで作成できるでしょうか。 なお環境はWindowsXPのExcel2003です。 よろしくお願いいたします。

専門家に質問してみよう