• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数あるシートの特定セルに数値を入力したい。)

複数のシートに数値を入力したい - 年間支払金額一覧

Zeus_Sphereの回答

回答No.4

メインで表示されている表を1行1レコードとしたデーターベースとして定義し、 マクロでそのデーターベースをレコード単位で処理すれば可能です。 サンプルマクロは最も単純で基本的な物を作りました。 対象シートNo.の取得部分をデーターベースのチェックされたレコードにすればOK。

07535373
質問者

補足

ありがとうございます。 何度もスミマセン 私のほうのセルに合わせて書いたのですが、 見ていただけますか、 Sub フィールドクリア() ' ' フィールドクリア Macro メインのM35からO38をクリアします。 ' ' Range("M35:O38").Select Selection.ClearContents Range("L40") = "" Range("D4").Select End Sub 処理実行マクロ Sub 処理実行() ' ' 処理実行 Macro ' ' ' 内部変数宣言 ' Dim S_NO As Integer Dim Itm1 As Integer Dim Itm2 As Integer Dim Itm3 As Integer Dim Itm4 As Integer Dim MSG$ ' ' 内部変数初期化 ' S_NO = 0 Itm1 = 0 Itm2 = 0 Itm3 = 0 Itm4 = 0 MSG_OK$ = "正常に処理されました。" MSG_NG$ = "シートNo.に誤りがあります。" ' ' メイン処理 ' Sheets("メイン").Select S_NO = Range("D4") Itm1 = Range("M53:N35") Itm2 = Range("M36:N36") Itm3 = Range("M37:N37") Itm4 = Range("M38:N38") Range("L40") = MSG_OK$ Select Case S_NO Case 1 Sheets("シート1").Select Case 2 Sheets("シート2").Select Case 3 Sheets("シート3").Select Case Else Range("L40") = MSG_NG$ GoTo Exit1 End Select Range("AF4:AG4") = Itm1 Range("AF5:AG5") = Itm2 Range("AF6:AG6") = Itm3 Range("AF7:AG7") = Itm4 Exit1: Sheets("メイン").Select Range("D4").Select End Sub あと 対象シートのNo取得部分をデーターチエックされたレコードにかえるのは、 Range(”D4”)を変えるのでしょうか B3からチエックボックスがあるのですが、TRUEの時だけそのセルの、ページリンクに飛ばす 方法は どのようにすれば出来ますか、 スミマセンがよろしくおねがいします。

関連するQ&A

  • エクセル Sheet1 セルで入力したものをSheet2のセルへ

    エクセルのSheet1のセル(例えばB1)に入力した文字を、 Sheet2のセルの任意のセル(例えばA5)に自動で表示させるには どうすればいいのでしょうか?  Sheet2のA5のセルの中で、=Sheet1!B1 と入れても「0」に なるだけで・・・エクセルの何の機能を使えばいいのか全然分かりません。よろしくお願い致します。

  • セルに入力したら、別の特定セルに文字表示させるには

    似たようなQ&Aはあったのですが、求めているものとは少し違うので質問させていただきます。 エクセルで、指定したセルに数値を入力したら、 別シートの特定セルに特定文字列を表示させる ということはできませんか。 例えば、sheet1のセルB3に「2」と入力したら sheet2のセルB5に「●」と表示 次に、sheet1のセルB4に「6」と入力したら sheet2のセルD11に「●」と表示 次に、sheet1のセルC3に「4」と入力したら sheet2のB9に「○」と表示           のようなかたちです。 sheet1の入力範囲は、B3:I85程度 sheet2の入力範囲は、B3:FZ170程度で、特定セルは重複しない 表示されるのは、「●」「○」などの文字列 です。 途中経過として、MATCH関数、ADDRESS関数を利用して sheet1のセルに数値入力をしたら sheet2の入力すべきセル番地を求めることまではできたのですが その求めたセルがすべて異なるので、それぞれのセルに移動させて 文字列を表示させることができずに困っています。 解決法をご存知の方、どうぞよろしくお願いいたします。

  • エクセル・マクロ シートの非表示でマクロのエラー

    エクセル勉強中です。 マクロの記憶でSheet2の元データの図と記入できるセルをSheet1の有効セルにコピペするマクロを作りました。 複数の方が使う予定なので元データのSheet2を非表示にしたところマクロがエラーになりました。 どうしたらよいでしょうか? また貼り付けをする時、微妙に元データのシートがちらちらと移ります。 こちらも合わせてご指導いただけましたら助かります。   よろしお願いします。 Sub b1ab1() ' ' b1ab1 Macro ' ' Sheets("Sheet2").Select Range("AK48:AP56").Select Selection.Copy Sheets("ダクト制作単品図").Select ActiveSheet.Paste End Sub

  • エクセルVBA セルの値で、複数の列範囲を同時に

    セルの値を利用して複数の列範囲を選択したいです セルA1に 3 と入力されていて、AA列がアクティブの場合 Range("AD:AF,AJ:AL").Select の様に、アクティブ列から3列空けて、3列選択、3列空けて、3列選択の様にしたいです AA、アクティブ AB AC AD、選択 AE、選択 AF、選択 AG AH AI AJ、選択 AK、選択 AL、選択 AM

  • 他シートからのデータ抽出について

    以下の状況について、ご教示いただければ助かります。 【状況】 シートA K列にキーとなる項目があります。(K5セルからK100セルにデータが記入してあります) AG列に「手数料」項目を表示させる列があります。(AG5セルからAG100セルにデータが表示されます) シートB M列にキーとなる項目があります。 AA列に「手数料(1)」項目があります。(AA13セルからAA200セルにデータが入ります) AH列に「手数料(2)」項目があります。(AH13セルからAH200セルにデータが入ります)  AA列にデータがある行は、AH列にはデータは入りません。  AH列にデータがある行は、AA列にはデータは入りません。 【実現したいこと】 シートAのL列にシートBのAA列かAH列の記入されている手数料データを表示させたい。  シートBのAA列にデータがある場合はAA列のデータを表示させる。  シートBのAH列にデータがある場合はAH列のデータを表示させる。 これは、vlookupで対応する事を想定しているのですが、実現できるのでしょうか。 何卒、よろしくお願いいたします。

  • Excelの複数の行番号の指定したセルを他のシートの

    特定のセルに表示させる方法はありますか? これだけではわかりづらいと思いますので…。 例えば、Book1のシート1のセルB3からD3をシート2のセルC4F6K6に表示(同じセルではない)させ、このシートを他の新しいブック(Book2)として保存(これは印刷するので無理なら必ずしも保存出来なくても良い)し、Book1のシート1のセルB3からD3に入力したデータはそのまま(変更しない)で、次に次の行のB4からD4をBook1のシート2のセルC4F6K6に表示させ、またこのシートを他の新しいブック(Book3)として保存する、というような作業を繰り返したいのです。 要するにBook1のシート1の行の上から下へ順番にデータを入力していき、常にシート2の特定セルにシート1の最新データが表示されるようにしたい、ということです。 要領はわかっていただけたでしょうか? よろしくお願いします。

  • EXCEL 入力された数値を別シートから検索したい

    EXCELで、以下のようなデータシートを作成しています。   A   B   C   D   E 1 あ  10 2 い  20 3 う  30 4 え  40 5 お  50 別シートのA1に「30」と入力したら、 B1に「B3」とデータシートの「30」が入力されている セルのアドレスを表示したいのです。 もしくは行番号だけでもいいのですが、 このような場合、どの関数を使用すればよろしいのでしょうか? VBAは避けたいです。 よろしくお願いします。

  • ExcelVBAで複数セルを別シートに貼り付けたい

    Excel VBAでデータをコピーして、別シートに貼り付けるどうしたらいいのでしょうか。 Sheet1のセルA1からA4のデータをコピーして、Sheet2のC2からc5に貼り、次はSheet1のセルB1からB4のデータをコピーしてSheet2のC7からc10に貼りを500行ほど繰り返し(コピーするデータは、4行づつ横へ移動し、貼り付けるほうは4行づつ縦へ移動します。) それが終わったら、今度はB列、c列と100列ほど同じ操作を繰り返します。 いろいろな方法を試しましたが、なかなかうまくいきません。 どなたか教えていただけませんでしょうか。よろしくお願いいたします。

  • Excel2010VBAのセルの入力が遅い

    Excel2010のVBAなんですが、処理時間が非常に遅いです。プログラムの中でも遅い部分はセルに入力する部分です。多分24時間ぐらいプログラムを走らせておきましたがそれでも終わっていませんでした。 シートは6個あり、それぞれ関数の計算がされており、シート1からシート3までの計算されたものがシート4に出力され、そのシート4からプログラムで計算してシート5に出力されるコードです。 シート5に出力するデータは、「年」、「月」、「日にち」、「時刻」、「データ1」、「データ2」、「データ3」、「データ4」の8つの項目です。これは全ての行に入力するわけではなく、入力しなくてもいい空白の部分もあります。空白でもいいセルには入力の処理はしないようになっています。 処理時間が遅いというのは、データ量が非常に多いということもあるのですが最初に参照するデータは50万件以上(実際はこれよりはるかにあるのですが区切っています。)あります。 全てのコードはここには記載しませんが、特に遅いセルの入力の部分は、次の通りです。 For~ With Workbooks("ブック名.xlsm").Worksheets("シート5") .Cells(b, 1) = Year(日付) .Cells(b, 2) = Month(日付) .Cells(b, 3) = Day(日付) .Cells(b, 4) = TimeValue(日付) .Cells(b, 5) = Application.Round(データ1, 3) .Cells(b, 6) = Application.Round(データ2, 3) .Cells(b, 7) = Application.Round(データ3, 3) .Cells(b, 8) = Application.Round(データ4, 3) End With Next この部分の処理を早くするにはどうしたらいいでしょうか? 回答よろしくお願いします。

  • エクセルで、セルの日付をシート名にしたい

    セルA1に、別のブックのセルから=の式で引張って来た日付表示のデータ(H19.10.10)が入っています。 その日付を常にそのシート名に反映させるにはどうしたら良いでしょうか?宜しくお願いします。