HohoPapa の回答履歴

全1656件中461~480件表示
  • 連続プルダウンについて

    VBAで初心者でリストを作るのがやっとで連続プルダウンができません 各月のシートに登録ボタン作成あります。登録ボタンを押して商品を登録する際に、大分類を選んだら、選んだ大分類の中分類を選べ、中分類を選んだら小分類を選べるようにしたいです。 そのために、Sheet1に分類の表を作成しました。 例えば、大分類で梱包作業用品を選んだら、     中分類には梱包/結束用品かテープ製品が選べて、中分類で梱包/結束用品を選んだら     小分類で緩衝材か養生用テープが選べる様にしたいです。 どうか教えて下さい。 ----------------------------------------------------------- Private Sub CommandButton1_Click() Dim lRow As Long Dim ws As Worksheet Set ws = ThisWorkbook.ActiveSheet With ws lRow = .Range("B" & Rows.Count).End(xlUp).Row .Range("B" & lRow + 1).Value = TextBox1.Value lRow = Range("C" & Rows.Count).End(xlUp).Row .Range("C" & lRow + 1).Value = ListBox1.Value lRow = .Range("D" & Rows.Count).End(xlUp).Row .Range("D" & lRow + 1).Value = TextBox2.Value lRow = .Range("E" & Rows.Count).End(xlUp).Row .Range("E" & lRow + 1).Value = TextBox3.Value lRow = .Range("F" & Rows.Count).End(xlUp).Row .Range("F" & lRow + 1).Value = TextBox4.Value lRow = .Range("G" & Rows.Count).End(xlUp).Row .Range("G" & lRow + 1).Value = TextBox5.Value 'lRow = .Range("I" & Rows.Count).End(xlUp).Row '.Range("I" & lRow + 1).Value = TextBox6.Value lRow = Range("I" & Rows.Count).End(xlUp).Row .Range("I" & lRow + 1).Value = ListBox3.Value lRow = .Range("J" & Rows.Count).End(xlUp).Row .Range("J" & lRow + 1).Value = TextBox7.Value lRow = .Range("K" & Rows.Count).End(xlUp).Row .Range("K" & lRow + 1).Value = TextBox8.Value lRow = Range("L" & Rows.Count).End(xlUp).Row Range("L" & lRow + 1).Value = ListBox2.Value lRow = .Range("H" & Rows.Count).End(xlUp).Row .Range("H" & lRow + 1).Value = TextBox9.Value End With TextBox1.Value = "" TextBox1.SetFocus TextBox2.Value = "" TextBox2.SetFocus TextBox3.Value = "" TextBox3.SetFocus TextBox4.Value = "" TextBox4.SetFocus TextBox5.Value = "" TextBox5.SetFocus 'TextBox6.Value = "" 'TextBox6.SetFocus TextBox7.Value = "" TextBox7.SetFocus TextBox8.Value = "" TextBox8.SetFocus TextBox9.Value = "" TextBox9.SetFocus End Sub Private Sub UserForm_Initialize() With ListBox1 .AddItem "たのめーる" .AddItem "AMAZON" .AddItem "楽天" .AddItem "yahooショッピング" .AddItem "国峰印房" .AddItem "脇製茶" .AddItem "ヤマト運輸" .AddItem "ゼネラル" .AddItem "家電量販店" End With With ListBox2 .AddItem "総務課" .AddItem "用度" .AddItem "営業" .AddItem "介護" .AddItem "倉庫" .AddItem "人事" .AddItem "経理" End With With ListBox3 .AddItem "梱包作業用品" .AddItem "事務用品消耗品" .AddItem "パソコン用品消耗品" .AddItem "プリンター用品消耗品" .AddItem "掃除用品消耗品" .AddItem "衛生用品消耗品" .AddItem "消臭用品消耗品" .AddItem "洗剤用品消耗品" .AddItem "事務用品" .AddItem "掃除用品" .AddItem "生活雑貨用品" .AddItem "飲食用品" .AddItem "パソコン周辺機器" .AddItem "生活雑貨" .AddItem "医療機器" .AddItem "電化製品" .AddItem "衛生用品" .AddItem "日用品" .AddItem "出版物" .AddItem "家具" End With End Sub

  • VBA 特定の文字を含む、複数ファイルから抽出

    はじめまして。 必要なデータが複数のファイルにまたがってバラバラに管理されており、必要なデータを取り出すために毎日苦労しています🥲ファイル毎に別担当が更新されているため統合される予定がなく途方にくれています。どなたかコード教えて下さい。切実。 【前提】 特定のフォルダ(階層はバラバラ) Excelファイルが30個前後 ファイルによっては複数のシートがある OSはWindows10 Office365 Excelです。 【検索方法】 メッセージボックスに検索したい文字列(例えば”AA-123“)と入力 できればワイルドカード文字も使いたいです。 【結果の表示】 第1希望 リンクとして表示 第2希望 ファイル名と行ごとコピー 第3希望 ファイル名とセル番地を表示 【複数のファイルがHITした場合の表示】 1件目をA1セルとA2セル 2件目を1行あけたA3セルとA4セル 3件目以降同様に、、、といった具合に全件を表示させたいです。 想定では多くて10件以下の見込です。 以上 難しいかもしれないのですが、どなたかお助けください。

  • VBA関数がファイル開けるとエラーに再度の質問です

    先日質問させていただいたのですが図を添付した方が分かり易いとのご指摘で再度投稿させていただきます。 下にデータが入っていきます。 添付では176個(LOT )のデータが17行目以降に入っています。 D4セルにはIFERROR(・・・・)を入れてみたら空白で表示されました。(当然?) 通常は担当者がセルにデータを入れると計算結果が(クルリと言う感じで)表示されるので実用上は問題無いのですが、最近このデータを要求されることが増えてきて、その時には最下行のセル(でなくてもどこでも)何かするとその列が計算されます。 ちなみにキャプチャー後に項目セル(D5)を削除してみても値が表示されました。(よって開けたまままの表です) また、メニューの「数式」「再計算の実行」をいじってみましたが変化なし。(エラー表示のままでした) コードは下記の通りです。 表にはAverage以外にMIN、MAX、STDEVをそれぞれ標準モジュールに同じ形式(コード)で仕込んであります。 Function sfAverage(Rng As Range, Optional bd) As Double Dim LastRow As Long Dim MyCol As Long Dim tgRng As Range Dim Border As Long Dim StartRow As Long Const DefBorder = 30 StartRow = 17 'データ開始行 If IsMissing(bd) Then Border = DefBorder '省略された場合の閾値 Else If ((bd = 0) Or (bd = "")) Then Border = DefBorder '省略された場合の閾値 Else Border = bd End If End If MyCol = Rng.Column LastRow = Cells(Rows.Count, MyCol).End(xlUp).Row If LastRow <= StartRow Then LastRow = StartRow End If '下から上方向に、数値となっているセルを探す Do If IsNumeric(Cells(LastRow, MyCol).Value) = True Then Exit Do If LastRow <= StartRow Then Exit Do LastRow = LastRow - 1 Loop If LastRow > StartRow + Border - 1 Then LastRow = LastRow - 1 StartRow = LastRow - Border + 1 End If Debug.Print _ "開始行: " & StartRow & _ " / 終了行: " & LastRow & _ " / 対象列番号: " & MyCol Set tgRng = Range(Cells(StartRow, MyCol), Cells(LastRow, MyCol)) sfAverage = WorksheetFunction.Average(tgRng) End Function

  • VBA 特定の文字を含む、複数ファイルから抽出

    はじめまして。 必要なデータが複数のファイルにまたがってバラバラに管理されており、必要なデータを取り出すために毎日苦労しています🥲ファイル毎に別担当が更新されているため統合される予定がなく途方にくれています。どなたかコード教えて下さい。切実。 【前提】 特定のフォルダ(階層はバラバラ) Excelファイルが30個前後 ファイルによっては複数のシートがある OSはWindows10 Office365 Excelです。 【検索方法】 メッセージボックスに検索したい文字列(例えば”AA-123“)と入力 できればワイルドカード文字も使いたいです。 【結果の表示】 第1希望 リンクとして表示 第2希望 ファイル名と行ごとコピー 第3希望 ファイル名とセル番地を表示 【複数のファイルがHITした場合の表示】 1件目をA1セルとA2セル 2件目を1行あけたA3セルとA4セル 3件目以降同様に、、、といった具合に全件を表示させたいです。 想定では多くて10件以下の見込です。 以上 難しいかもしれないのですが、どなたかお助けください。

  • VBA関数がファイル開けるとエラーに再度の質問です

    先日質問させていただいたのですが図を添付した方が分かり易いとのご指摘で再度投稿させていただきます。 下にデータが入っていきます。 添付では176個(LOT )のデータが17行目以降に入っています。 D4セルにはIFERROR(・・・・)を入れてみたら空白で表示されました。(当然?) 通常は担当者がセルにデータを入れると計算結果が(クルリと言う感じで)表示されるので実用上は問題無いのですが、最近このデータを要求されることが増えてきて、その時には最下行のセル(でなくてもどこでも)何かするとその列が計算されます。 ちなみにキャプチャー後に項目セル(D5)を削除してみても値が表示されました。(よって開けたまままの表です) また、メニューの「数式」「再計算の実行」をいじってみましたが変化なし。(エラー表示のままでした) コードは下記の通りです。 表にはAverage以外にMIN、MAX、STDEVをそれぞれ標準モジュールに同じ形式(コード)で仕込んであります。 Function sfAverage(Rng As Range, Optional bd) As Double Dim LastRow As Long Dim MyCol As Long Dim tgRng As Range Dim Border As Long Dim StartRow As Long Const DefBorder = 30 StartRow = 17 'データ開始行 If IsMissing(bd) Then Border = DefBorder '省略された場合の閾値 Else If ((bd = 0) Or (bd = "")) Then Border = DefBorder '省略された場合の閾値 Else Border = bd End If End If MyCol = Rng.Column LastRow = Cells(Rows.Count, MyCol).End(xlUp).Row If LastRow <= StartRow Then LastRow = StartRow End If '下から上方向に、数値となっているセルを探す Do If IsNumeric(Cells(LastRow, MyCol).Value) = True Then Exit Do If LastRow <= StartRow Then Exit Do LastRow = LastRow - 1 Loop If LastRow > StartRow + Border - 1 Then LastRow = LastRow - 1 StartRow = LastRow - Border + 1 End If Debug.Print _ "開始行: " & StartRow & _ " / 終了行: " & LastRow & _ " / 対象列番号: " & MyCol Set tgRng = Range(Cells(StartRow, MyCol), Cells(LastRow, MyCol)) sfAverage = WorksheetFunction.Average(tgRng) End Function

  • VBA 特定の文字を含む、複数ファイルから抽出

    はじめまして。 必要なデータが複数のファイルにまたがってバラバラに管理されており、必要なデータを取り出すために毎日苦労しています🥲ファイル毎に別担当が更新されているため統合される予定がなく途方にくれています。どなたかコード教えて下さい。切実。 【前提】 特定のフォルダ(階層はバラバラ) Excelファイルが30個前後 ファイルによっては複数のシートがある OSはWindows10 Office365 Excelです。 【検索方法】 メッセージボックスに検索したい文字列(例えば”AA-123“)と入力 できればワイルドカード文字も使いたいです。 【結果の表示】 第1希望 リンクとして表示 第2希望 ファイル名と行ごとコピー 第3希望 ファイル名とセル番地を表示 【複数のファイルがHITした場合の表示】 1件目をA1セルとA2セル 2件目を1行あけたA3セルとA4セル 3件目以降同様に、、、といった具合に全件を表示させたいです。 想定では多くて10件以下の見込です。 以上 難しいかもしれないのですが、どなたかお助けください。

  • VBA関数がファイル開けるとエラーに再度の質問です

    先日質問させていただいたのですが図を添付した方が分かり易いとのご指摘で再度投稿させていただきます。 下にデータが入っていきます。 添付では176個(LOT )のデータが17行目以降に入っています。 D4セルにはIFERROR(・・・・)を入れてみたら空白で表示されました。(当然?) 通常は担当者がセルにデータを入れると計算結果が(クルリと言う感じで)表示されるので実用上は問題無いのですが、最近このデータを要求されることが増えてきて、その時には最下行のセル(でなくてもどこでも)何かするとその列が計算されます。 ちなみにキャプチャー後に項目セル(D5)を削除してみても値が表示されました。(よって開けたまままの表です) また、メニューの「数式」「再計算の実行」をいじってみましたが変化なし。(エラー表示のままでした) コードは下記の通りです。 表にはAverage以外にMIN、MAX、STDEVをそれぞれ標準モジュールに同じ形式(コード)で仕込んであります。 Function sfAverage(Rng As Range, Optional bd) As Double Dim LastRow As Long Dim MyCol As Long Dim tgRng As Range Dim Border As Long Dim StartRow As Long Const DefBorder = 30 StartRow = 17 'データ開始行 If IsMissing(bd) Then Border = DefBorder '省略された場合の閾値 Else If ((bd = 0) Or (bd = "")) Then Border = DefBorder '省略された場合の閾値 Else Border = bd End If End If MyCol = Rng.Column LastRow = Cells(Rows.Count, MyCol).End(xlUp).Row If LastRow <= StartRow Then LastRow = StartRow End If '下から上方向に、数値となっているセルを探す Do If IsNumeric(Cells(LastRow, MyCol).Value) = True Then Exit Do If LastRow <= StartRow Then Exit Do LastRow = LastRow - 1 Loop If LastRow > StartRow + Border - 1 Then LastRow = LastRow - 1 StartRow = LastRow - Border + 1 End If Debug.Print _ "開始行: " & StartRow & _ " / 終了行: " & LastRow & _ " / 対象列番号: " & MyCol Set tgRng = Range(Cells(StartRow, MyCol), Cells(LastRow, MyCol)) sfAverage = WorksheetFunction.Average(tgRng) End Function

  • エクセル 表の集計

    エクセルは2017です。 〇いままでのやりかた(添付写真をみてください) 1.会社の基幹システムから製番と回答納期、発注数(オーダー数)、個数をダウンロードします。(実際のリストはもっと項目があり、オーダー数は30,000件になります。)なので必要なのを抜粋しています。 2.ピボットで表を集計します。(添付写真右側) 3.自分で作成した必要な製番だけのリスト(添付写真中央)を作成し、関数を使って日ごとのオーダー数を表示させてます。 〇やりたいこと ・マクロを使って1ボタンで自分の作成したリストにオーダー数をいれたい。 1→基幹システムから任意のホルダーにリストを保存 2→自分で作成したリストに「集計」ボタンがありそれをクリック 3→保存先を聞いてきてリストが保存してあるフォルダーを選択 4→フォルダー内にあるリストを選択すると自動的に自分で作成したリストに数字がはいる。 よろしくお願いします。

  • VBA 特定の文字を含む、複数ファイルから抽出

    はじめまして。 必要なデータが複数のファイルにまたがってバラバラに管理されており、必要なデータを取り出すために毎日苦労しています🥲ファイル毎に別担当が更新されているため統合される予定がなく途方にくれています。どなたかコード教えて下さい。切実。 【前提】 特定のフォルダ(階層はバラバラ) Excelファイルが30個前後 ファイルによっては複数のシートがある OSはWindows10 Office365 Excelです。 【検索方法】 メッセージボックスに検索したい文字列(例えば”AA-123“)と入力 できればワイルドカード文字も使いたいです。 【結果の表示】 第1希望 リンクとして表示 第2希望 ファイル名と行ごとコピー 第3希望 ファイル名とセル番地を表示 【複数のファイルがHITした場合の表示】 1件目をA1セルとA2セル 2件目を1行あけたA3セルとA4セル 3件目以降同様に、、、といった具合に全件を表示させたいです。 想定では多くて10件以下の見込です。 以上 難しいかもしれないのですが、どなたかお助けください。

  • エクセルでマクロ関数がファイル開けるとエラーになる

    お世話になります。 だいぶ前にここでマクロを使った関数を教わって非常に有用に使わせていただいているのですが、当初より1つの軽微な問題があったのですが実使用上問題ないのでそのまま使用させてもらっています。 不具合はファイルを開けると、関数の結果が添付のようにエラー 表示になてしまっています。 列のどこかに何か入力するとその列の関数は再計算されて正常な結果が表示されます。 通常はこのファイルを開ける時には表に入力をするので、入力したら結果が表示されれば問題はないのですが、単純に統計結果を見たいときには各列に適当に数字を入れないと結果が確認できないことになります。 手間なのは左端の列に123と適当に入れて横に引っ張ると書式等の列の属性まですべてコピーされてしまうのですべての列に横に手入力し、結果が表示されたらその行を削除しています。 この作業を複数の担当者に説明しているのですが最近人も変わったりしたので何とか改善できないでしょうか?

  • VBA 特定の文字を含む、複数ファイルから抽出

    はじめまして。 必要なデータが複数のファイルにまたがってバラバラに管理されており、必要なデータを取り出すために毎日苦労しています🥲ファイル毎に別担当が更新されているため統合される予定がなく途方にくれています。どなたかコード教えて下さい。切実。 【前提】 特定のフォルダ(階層はバラバラ) Excelファイルが30個前後 ファイルによっては複数のシートがある OSはWindows10 Office365 Excelです。 【検索方法】 メッセージボックスに検索したい文字列(例えば”AA-123“)と入力 できればワイルドカード文字も使いたいです。 【結果の表示】 第1希望 リンクとして表示 第2希望 ファイル名と行ごとコピー 第3希望 ファイル名とセル番地を表示 【複数のファイルがHITした場合の表示】 1件目をA1セルとA2セル 2件目を1行あけたA3セルとA4セル 3件目以降同様に、、、といった具合に全件を表示させたいです。 想定では多くて10件以下の見込です。 以上 難しいかもしれないのですが、どなたかお助けください。

  • Excel2016でセルを選択して入力したら上側セ

    excel2016で簡単な表を作りますが セルを選択して数字を入力したらその瞬間上側のセルと下側のセルと3個のセルが結合したようになり その瞬間上側セルに入力済みの表示も消えます 他のセルをクリックして確定したら復活して正常になります このようにならないようにできませんか

    • noname#253083
    • 回答数2
  • Excelで千単位で表示した数字を他にコピーしたい

    分かりにくいタイトルで申し訳ありません。 Excelに大きな金額を入力し、そこを千円単位で表示させています。(セルの書式設定「#,##0,」) その千円単位の数字を千円単位のままで他のシートにコピー&ペーストする方法が分からず困っています。(数値としてペーストすると円単位に戻ってしまう) ペーストする先のシートには既に千円単位の数字が入っており、それらと一緒に計算したいので、千円単位に換算した形でペーストしたいという要望です。 ご存じの方がおられましたら、ぜひ教えてください。宜しくお願いいたします。

  • Excel vbaによるポイント変更後の位置ズレ

    皆様こんにちは。 Excelのvbaに関して質問があります。 セル内改行(上下2段を想定)されているデータのあるセルについて、下段の文字のポイント数を変更するvbaを組みました。 無事に動いたのですが、問題が発生しました。 一つの行につき複数の列のある表であり、行ごとに垂直位置を揃えたい為、セル内改行無しのセルは上詰め、セル内改行ありのセルは均等割付けにし揃えたいと思っています。 vbaでセル下段部分のポイント数を変更すると上段が微妙に下がってしまうのです。 手動で行う場合はズレません。 なぜでしょうか?何か揃える方法はないでしょうか? よろしくお願いします。

  • Excel QRコードを読み取り項目毎に分割表示

    製品番号、LOT番号、製造年月日など複数の項目のデータが入ったQRコードがあります。 このQRコードを読み取って、項目毎にセルに入力したいです。 実際にQRコードを読み取ってみると abc0123-456$de0123456789$$$$$$20190201$$$$$$$$$ という様なパターンです。(架空のデータです) [$]というのが区切り文字と思われますので、 一旦データを読み込んだ後で、メニューの[データ]-[区切り位置]とたどって、区切り文字に[$]を指定すれば、それなりに表示出来ることは分かったのですが、 出来れば、特定の列でQRコードを読み取ると同時に、自動的にデータを区切ってそれぞれのセルに入力したいです。 区切り文字が連続している部分が有りますが、当方では必要ありませんので無視したいです。 マクロとかVBとか必要ですか? 出来るだけ具体的な方法を教えて頂けると有り難いです。

    • W-164
    • 回答数5
  • Excel QRコードを読み取り項目毎に分割表示

    製品番号、LOT番号、製造年月日など複数の項目のデータが入ったQRコードがあります。 このQRコードを読み取って、項目毎にセルに入力したいです。 実際にQRコードを読み取ってみると abc0123-456$de0123456789$$$$$$20190201$$$$$$$$$ という様なパターンです。(架空のデータです) [$]というのが区切り文字と思われますので、 一旦データを読み込んだ後で、メニューの[データ]-[区切り位置]とたどって、区切り文字に[$]を指定すれば、それなりに表示出来ることは分かったのですが、 出来れば、特定の列でQRコードを読み取ると同時に、自動的にデータを区切ってそれぞれのセルに入力したいです。 区切り文字が連続している部分が有りますが、当方では必要ありませんので無視したいです。 マクロとかVBとか必要ですか? 出来るだけ具体的な方法を教えて頂けると有り難いです。

    • W-164
    • 回答数5
  • Excel QRコードを読み取り項目毎に分割表示

    製品番号、LOT番号、製造年月日など複数の項目のデータが入ったQRコードがあります。 このQRコードを読み取って、項目毎にセルに入力したいです。 実際にQRコードを読み取ってみると abc0123-456$de0123456789$$$$$$20190201$$$$$$$$$ という様なパターンです。(架空のデータです) [$]というのが区切り文字と思われますので、 一旦データを読み込んだ後で、メニューの[データ]-[区切り位置]とたどって、区切り文字に[$]を指定すれば、それなりに表示出来ることは分かったのですが、 出来れば、特定の列でQRコードを読み取ると同時に、自動的にデータを区切ってそれぞれのセルに入力したいです。 区切り文字が連続している部分が有りますが、当方では必要ありませんので無視したいです。 マクロとかVBとか必要ですか? 出来るだけ具体的な方法を教えて頂けると有り難いです。

    • W-164
    • 回答数5
  • EXCEL VBA 複数ファイル値を集計

    yakkunnと申します。 お世話になっております。 下記処理を実現するためのEXCEL VBAコードをご教授いただけないでしょうか。 ■やりたい事 デスクトップに「実績集計.xlsx」というファイルがあります。 このファイルにボタンを配置し、このボタンをクリックしましたら、C3セルに記述されているファイルパス配下を見てその配下ファイルを全て開き、各ファイルの値を「実績集計.xlsx」に全て転記するVBAコードをご教授いただきたく思います。 ■転記内容 例えばA.xlsx~C.xlsxという3つのファイルがあるとします。この3つのファイルを開いて・・ 左が「A.xlsx」、右が[実績集計.xlsx」とします 処理付を転記・・B4セル⇒B7へ転記 コードを転記・・B7セル⇒C7へ転記 商品名を転記・・C7セル⇒D7へ転記 数量を転記・・ D7セル⇒E7へ転記 金額を転記・・ E7セル⇒F7へ転記 これをA.xls~C.xlsまで繰り返し、実績集計.xlsxに値をどんどん転記したいです。 金額のF列の最後に合計金額が出力されれば最高です。 よろしくお願いいたします。

  • エクセルで2つの項目を下から規定数のデータでグラフ

    15枚のシートに同じ書式の表がありそのシート上に任意の2列の列データを下から30個指定してグラフ化したいのです。 表に空白セルは無く、データ数が30個以下の場合は全数でグラフ化したい。 製品A、製品B・・・というように製品名のシートが15枚あります。 この表の2列のデータを下から30個でグラフ化したく。列は固定することも可です。 データ数や項目行やデータの開始行は下記の様にコード中で指定でも問題なく使用できると思いますが、もし可能なら添付の図のように決まったセルから指定できれば最高です。 コード中での指定の場合表がずれた場合に不都合になってしまいますが、今のところ表の位置を合わせることもできそうですので必須条件ではありません。 Const MaxRows = 30 'データ範囲に指定する最大行数 Const ColNum1 = 5 '1つ目データ格納列 Const ColNum2 = 7 '2つ目データ格納列 Const SRowNum = 17 'データ開始行番号 Const KoumokuRow = 5 '項目名格納行番号

  • エクセルで2つの項目を下から規定数のデータでグラフ

    お世話になります。 かなり以前にここで表の2つの項目(データ列)の下から任意の数のデータでグラフを作るマクロを手取り足取り教えてもらい非常に有効に展開しております。 今回は1つのBookの複数のシートに同じ書式の表を作って、各シート上でデータが入力されると列の下から任意の個数(30-50個)で自動でグラフが更新(マクロボタンクリックでもOK)されるようにしたいのです。 マクロはアクティブシートを対象に動くように出来れば1つのコードで各シートのボタンクリックでグラフが更新されるようにできるのではと期待しています。 このような複数のシートで別のシートの表を対象に動くマクロで想定される不具合に関しては全く知見無し。 ・シートは15枚程度で今後増える可能性あり。 ・グラフ対象の列はコードに合わせ込み可能なのでE列とG列等に割り当てて作表可能。(指定できれば尚ありがたい) ・列のデータは式が入っているケースもありますが、数字データの下 から規定数のデータでグラフ化。 ・空白セルは無い ちなみに現在使用しているコードは下記の物です。 '//------------------------'データ列2列 Sub GraphSauceChange8_2() Sheets("成績表").Select ⇒ ここをアクティブシートにしたい ActiveSheet.Unprotect Const MaxRows = 30 'データ範囲に指定する最大行数 Const ColNum1 = 5 '1つ目データ格納列 Const ColNum2 = 7 '2つ目データ格納列 Const SRowNum = 17 'データ開始行番号 Const KoumokuRow = 5 '項目名格納行番号 Const ShNameGD = "入力表" 'データ格納シート名 Const ShNameGr = "成績表" 'グラフ描写シート名 ⇒ 入力表と同じシート=アクティブシートです Dim GSh As Worksheet Dim DSh As Worksheet Dim SRow As Long 'グラフ用データ開始行 Dim ERow As Long 'グラフ用データ終了行 Dim tgRange1 As Range 'データ群1つ目範囲 Dim tgRange2 As Range 'データ群2つ目範囲 Dim tgRangeA As Range '上記合計範囲 Set GSh = ThisWorkbook.Sheets(ShNameGr) Set DSh = ThisWorkbook.Sheets(ShNameGD) ERow = DSh.Cells(DSh.Rows.Count, 1).End(xlUp).Row If ERow < MaxRows + SRowNum Then SRow = SRowNum Else SRow = ERow - MaxRows + 1 End If Set tgRange1 = _ Range(DSh.Cells(SRow, ColNum1), DSh.Cells(ERow, ColNum1)) Set tgRange2 = _ Range(DSh.Cells(SRow, ColNum2), DSh.Cells(ERow, ColNum2)) Set tgRangeA = Union(tgRange1, tgRange2) '結合 GSh.ChartObjects(1).Chart.SetSourceData Source:=tgRangeA 'セット GSh.ChartObjects(1).Chart.SeriesCollection(1).Name = _ DSh.Cells(KoumokuRow, ColNum1).Value GSh.ChartObjects(1).Chart.SeriesCollection(2).Name = _ DSh.Cells(KoumokuRow, ColNum2).Value