end-u の回答履歴

全1157件中1041~1060件表示
  • エクセル プロダクトIDを検出する方法が解りましたか゛それを使ってエクセルの操作ができませんか

    Sub プロダクトIDを表示する() バージョン = Application.Version 一意識別子 = Application.ProductCode レジストリキー = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\" _ & バージョン & "\Registration\" & 一意識別子 & "\ProductID" プロダクトID = CreateObject("WScript.Shell").RegRead(レジストリキー) MsgBox プロダクトID, , "プロダクトID" End Sub この様なコードを発見しました プロダクトIDを使って エクセルが起動した時にプロダクトIDを検出して保存しておいて このプロダクトIDと違ったもので起動した時に開かないように   そんな事が実現できますでしょうか ご指南ください

  • EXCELマクロ 保存禁止させるには?

    EXCELのファイルを閲覧のみにしたいので、 [上書き保存]、[名前をつけて保存]等を禁止にするため、 以下のようにマクロを作成しようとしました。 EXCELマクロ、Workbook_BeforeSaveで、Cancel=Trueのコードを追加。 しかし、このマクロを入れるとこのブック自体が保存できないんです。 どうすればよいでしょう?

  • EXCELマクロ 保存禁止させるには?

    EXCELのファイルを閲覧のみにしたいので、 [上書き保存]、[名前をつけて保存]等を禁止にするため、 以下のようにマクロを作成しようとしました。 EXCELマクロ、Workbook_BeforeSaveで、Cancel=Trueのコードを追加。 しかし、このマクロを入れるとこのブック自体が保存できないんです。 どうすればよいでしょう?

  • EXCELマクロ 保存禁止させるには?

    EXCELのファイルを閲覧のみにしたいので、 [上書き保存]、[名前をつけて保存]等を禁止にするため、 以下のようにマクロを作成しようとしました。 EXCELマクロ、Workbook_BeforeSaveで、Cancel=Trueのコードを追加。 しかし、このマクロを入れるとこのブック自体が保存できないんです。 どうすればよいでしょう?

  • Excel VBA グラフ作成のときのエラー

    VBA初心者です。Excel2003を使っています。 Sheet1に作りたいグラフがあります。 データは下記のとおりです。 ActiveChart.SeriesCollection(1).Name = Cells(a_data, "A")のところで、「実行時エラー13 型が一致しません」とエラーがでます。 不思議なのは、昨日は動いていたのです。 なぜ、エラーが出るようになったのかわかりません。 ご教授よろしくお願いします。 A B 1 a 1 2 2 3 3 4 4 5 5 6 b 6 7 7 8 8 9 9 10 10 11 c 11 12 12 13 13 14 14 15 15 Sub test() Wrow = Worksheets("sheet1").Cells(Rows.Count, "A").End(xlUp).Row For i = 1 To Wrow If Worksheets("sheet1").Cells(i, "A").Value = "a" Then a_data = Worksheets("sheet1").Cells(i, "A").Row ElseIf Worksheets("sheet1").Cells(i, "A").Value = "b" Then b_data = Worksheets("sheet1").Cells(i, "A").Row ElseIf Worksheets("sheet1").Cells(i, "A").Value = "c" Then c_data = Worksheets("sheet1").Cells(i, "A").Row ElseIf Worksheets("sheet1").Cells(i, "A").Value = "d" Then d_data = Worksheets("sheet1").Cells(i, "A").Row End If Next Sheets("sheet1").Select Range(Cells(a_data, "B"), Cells(b_data, "B")).Select ActiveSheet.ChartObjects.Add(30, 10, 500, 200).Select ActiveChart.ChartType = xlLineMarkers ActiveChart.SetSourceData Source:=Sheets("sheet1").Range(Cells(a_data, "B"), Cells(b_data - 1, "B")), PlotBy:=xlColumns ActiveChart.Location where:=xlLocationAsObject, Name:="sheet1" Sheets("sheet1").Select ActiveChart.Axes(xlCategory, xlPrimary).CategoryType = xlAutomatic ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(1).Name = Cells(a_data, "A") ←エラーがでます。 ActiveChart.SeriesCollection(2).Values = Range(Cells(b_data, "B"), Cells(c_data, "B")) ActiveChart.SeriesCollection(2).Name = Cells(b_data, "A") ActiveChart.SeriesCollection(3).Values = Range(Cells(c_data, "B"), Cells(d_data, "B")) ActiveChart.SeriesCollection(2).Name = Cells(c_data, "A") End Sub

  • Excel VBA グラフ作成のときのエラー

    VBA初心者です。Excel2003を使っています。 Sheet1に作りたいグラフがあります。 データは下記のとおりです。 ActiveChart.SeriesCollection(1).Name = Cells(a_data, "A")のところで、「実行時エラー13 型が一致しません」とエラーがでます。 不思議なのは、昨日は動いていたのです。 なぜ、エラーが出るようになったのかわかりません。 ご教授よろしくお願いします。 A B 1 a 1 2 2 3 3 4 4 5 5 6 b 6 7 7 8 8 9 9 10 10 11 c 11 12 12 13 13 14 14 15 15 Sub test() Wrow = Worksheets("sheet1").Cells(Rows.Count, "A").End(xlUp).Row For i = 1 To Wrow If Worksheets("sheet1").Cells(i, "A").Value = "a" Then a_data = Worksheets("sheet1").Cells(i, "A").Row ElseIf Worksheets("sheet1").Cells(i, "A").Value = "b" Then b_data = Worksheets("sheet1").Cells(i, "A").Row ElseIf Worksheets("sheet1").Cells(i, "A").Value = "c" Then c_data = Worksheets("sheet1").Cells(i, "A").Row ElseIf Worksheets("sheet1").Cells(i, "A").Value = "d" Then d_data = Worksheets("sheet1").Cells(i, "A").Row End If Next Sheets("sheet1").Select Range(Cells(a_data, "B"), Cells(b_data, "B")).Select ActiveSheet.ChartObjects.Add(30, 10, 500, 200).Select ActiveChart.ChartType = xlLineMarkers ActiveChart.SetSourceData Source:=Sheets("sheet1").Range(Cells(a_data, "B"), Cells(b_data - 1, "B")), PlotBy:=xlColumns ActiveChart.Location where:=xlLocationAsObject, Name:="sheet1" Sheets("sheet1").Select ActiveChart.Axes(xlCategory, xlPrimary).CategoryType = xlAutomatic ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(1).Name = Cells(a_data, "A") ←エラーがでます。 ActiveChart.SeriesCollection(2).Values = Range(Cells(b_data, "B"), Cells(c_data, "B")) ActiveChart.SeriesCollection(2).Name = Cells(b_data, "A") ActiveChart.SeriesCollection(3).Values = Range(Cells(c_data, "B"), Cells(d_data, "B")) ActiveChart.SeriesCollection(2).Name = Cells(c_data, "A") End Sub

  • Excel VBA グラフ作成のときのエラー

    VBA初心者です。Excel2003を使っています。 Sheet1に作りたいグラフがあります。 データは下記のとおりです。 ActiveChart.SeriesCollection(1).Name = Cells(a_data, "A")のところで、「実行時エラー13 型が一致しません」とエラーがでます。 不思議なのは、昨日は動いていたのです。 なぜ、エラーが出るようになったのかわかりません。 ご教授よろしくお願いします。 A B 1 a 1 2 2 3 3 4 4 5 5 6 b 6 7 7 8 8 9 9 10 10 11 c 11 12 12 13 13 14 14 15 15 Sub test() Wrow = Worksheets("sheet1").Cells(Rows.Count, "A").End(xlUp).Row For i = 1 To Wrow If Worksheets("sheet1").Cells(i, "A").Value = "a" Then a_data = Worksheets("sheet1").Cells(i, "A").Row ElseIf Worksheets("sheet1").Cells(i, "A").Value = "b" Then b_data = Worksheets("sheet1").Cells(i, "A").Row ElseIf Worksheets("sheet1").Cells(i, "A").Value = "c" Then c_data = Worksheets("sheet1").Cells(i, "A").Row ElseIf Worksheets("sheet1").Cells(i, "A").Value = "d" Then d_data = Worksheets("sheet1").Cells(i, "A").Row End If Next Sheets("sheet1").Select Range(Cells(a_data, "B"), Cells(b_data, "B")).Select ActiveSheet.ChartObjects.Add(30, 10, 500, 200).Select ActiveChart.ChartType = xlLineMarkers ActiveChart.SetSourceData Source:=Sheets("sheet1").Range(Cells(a_data, "B"), Cells(b_data - 1, "B")), PlotBy:=xlColumns ActiveChart.Location where:=xlLocationAsObject, Name:="sheet1" Sheets("sheet1").Select ActiveChart.Axes(xlCategory, xlPrimary).CategoryType = xlAutomatic ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(1).Name = Cells(a_data, "A") ←エラーがでます。 ActiveChart.SeriesCollection(2).Values = Range(Cells(b_data, "B"), Cells(c_data, "B")) ActiveChart.SeriesCollection(2).Name = Cells(b_data, "A") ActiveChart.SeriesCollection(3).Values = Range(Cells(c_data, "B"), Cells(d_data, "B")) ActiveChart.SeriesCollection(2).Name = Cells(c_data, "A") End Sub

  • オートフィルターで抽出してコピー&印刷するマクロ

    いつもお世話になります。 エクセル2002です。 (1)オートフィルターでデータを抽出(部署ごと)する。(インプットボックスで) (2)抽出された行を1行ずつコピーし、【編集シート】のA1セルに貼り付け (3)【印刷シート】の印刷 (データが3行あれば3枚の印刷がしたいのです) 《データ》   A列  B列 1 (部署)(商品名) 2  01   商品1 3  01   商品2 4  02   商品1  5  02   商品3 ・・・・・・・・・・ ---------------- Sub Macro1() Dim 部署 部署 = InputBox("部署コードを入れてください") Selection.AutoFilter Field:=1, Criteria1:=部署 Range("A1").Select End Sub ------------------ ↑のマクロにどう追加すればよいのかわからないので、教えてください。 よろしくお願いします。

  • エクセルで特定のマイナス値を除く最大値と最小値について

    エクセルで、ある特定の値(-99999)を除く最大値と最小値を =MAX(IF(A1:A10<>-99999,A1:A10,"")) =MIN(IF(A1:A10<>-99999,A1:A10,"")) の配列数式を使って求めました。 ただ、A1:A10がすべて-99999の場合、0がかえってきてしまいます。 この場合、-99999と表示するにはどのようにすればよいのでしょうか? 1つの式で、上記2つの処理をするにはどのようにすればよいのでしょうか?

  • エクセルで特定のマイナス値を除く最大値と最小値について

    エクセルで、ある特定の値(-99999)を除く最大値と最小値を =MAX(IF(A1:A10<>-99999,A1:A10,"")) =MIN(IF(A1:A10<>-99999,A1:A10,"")) の配列数式を使って求めました。 ただ、A1:A10がすべて-99999の場合、0がかえってきてしまいます。 この場合、-99999と表示するにはどのようにすればよいのでしょうか? 1つの式で、上記2つの処理をするにはどのようにすればよいのでしょうか?

  • Excelマクロで年度別にフォルダ作成したい。

     Excel2003です。  日々の売り上げ集計ファイルをボタン一つで保存していくマクロを作っています。 Application.DisplayAlerts = False If Dir(ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計", vbDirectory) = "" Then MkDir Path:=ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計" ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計\" & Format(Date, "yymmdd") & ".xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Else ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計\" & Format(Date, "yymmdd") & ".xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False  とりあえず指定のフォルダに「yymmdd.xls」という名前をつけて保存、もしフォルダがなければ作るというところまで作れました。そこで、今度は「**年度」というフォルダに自動的に保存され、もし「**年度」というフォルダがなければ作るようにしたいのです。上に上げたマクロでは「**年」というフォルダを作ってその中に保存というところまでは出来ているのですが……。とにかく年度で分ける場合の処理がよくわかりません。  回答よろしくお願いします。

  • エクセルのマクロでデータ編集プログラムを作成していますが…。(デバックエラー)

    ブック名「データベース」のファイルと、ブック名が変数の「機器No」のファイルを開いた状態で、「データベース」画面から「機器No」画面への切り替えを ⇒ Windows("データベース.xls").Activate … (1)   ・   ・   ・ Windows(機器No).Activate … (2)   ・   ・   ・ なるマクロで行っています。 ところが、1台のPC(A機/本機で作成)では処理できるのに、他のPC(B機、C機)では(2)のステートメントでデバックエラーが出ます。 PCによってエラーが発生したり、しなかったりする原因が判らず困っています。 エクセルの初期設定に問題があるのでしょうか? OS:WinXP(3機共) 尚、このブックは共有ファイルです。 どなたか原因と解決方法を教えて下さい。 宜しくお願い致します。

  • エクセル ピボットテーブルの集計、並びについて

    ピボットテーブルをほとんど使ったことがなく困っています。 列タイトルに05売上、06売上、07売上、県名とあり県毎に合計、平均したいのですが、 ピボットテーブルを使用すると売上が縦に並んでしまいえます。 どうにか一括して横列の並びに出来ないでしょうか? 集計についても質問があるのですが、行に県名を追加し 値に集計フィールドの挿入で、COUNTIF(05売上,"<>0") とし売上0以外の県ごとの件数を集計したいのですができません。 ご存知の方回答お願いします。

  • データ抽出→グラフ作成

    次の様な書類を作成しています。 1  A   B  C   D E  F   G  H  I J   K  L  M 2 1-1 5000 4500 - -  2-1 5000 4800 - - 3-1 5000 5000 3 1-2 5000 4900 - -  2-2 5000 4700 - - 3-2 5000 5100 4  -  -  -  - -  2-3 5000 5000 - -  -  -  - 5  -  -  -  - -  -  -  -  - -  -  -  - (-は空白セルです) この表から値の入っている数値を抜き出して行5に折れ線グラフを作成したいと思っています。(ちなみにデータの数はその都度変わります) 現在は、前回作成したファイルを修正する形で使用しており、A列~M列にデータを入力した後、グラフの元データとして値の入っているデータを手作業でコピーして列R2・S2・T2から下に一つにまとめ、あとはグラフの書式で元データの数を調整しています。 そしてこのデータからグラフまでの表が下に5つほど連続であります。 この一連の流れを自動でできないものでしょうか? このファイルを使用する人は数人おり、そこそこエクセルを使える人から初心者の方までさまざまです。 出来れば、値を入力する度に自動的に変わっていくのが一番の希望ですが、無理な場合、ボタン一つで一連の流れが実行できるようにできないかと思っています。 自分でもいろいろ調べて考えてみたのですが、 グラフのデータ範囲はOFFSET関数を使用して自動的に変化させることができたのですが、 データの移行が、R列に =IF(ROW()-1>COUNTIF($A$2:$A$5,"<>"),"",INDEX(($A$1:$A$5),SMALL(IF($A$2:$A$5="","",ROW($A$2:$A$5)),ROW()-1))) S列に =IF(R1="","",VLOOKUP(R1,A2:M5,2,0)) T列に =IF(R1="","",VLOOKUP(R1,A2:M5,3,0)) これでA列~C列までは出来たのですが、続けてF列~H列、K列~M列のデータの抽出する方法がわからずとまってしまってます。 宜しくお願いします。

  • VBAでファイルを保存せずに閉じた後の他ブックの挙動

    初めて質問させていただきます。 VBA初心者の為、質問自体に不足があるかもしれませんが、ご協力をお願い致します。 エクセル2000(SP3)で複数のブック(仮にA.xls,B.xlsとします)を起動した状態で、Aをマクロを使って保存せずに終了させたところ、Bの操作が出来なくなります。(セル選択等もできません。Bのsheetを選択するとアプリケーションエラーになってしまいます) 同Windows上に他アプリケーションが起動している場合、それらを一度選択してから再度Excelを選択すると、Bの操作が可能になります。 保存せずに終了させる為のマクロは次のとおりです。 ブックAのThisWorkbook内に記述しています。 Private Sub Workbook_BeforeClose(Cancel As Boolean) If Workbooks.count = 1 Then Application.DisplayAlerts = False Application.Quit Else ThisWorkbook.Close SaveChanges:=False End If End Sub 以上、よろしくお願い致します。

  • ExcelVBAでの転記処理エラーについて

    ExcelVBAを使用して、データを転記集約させる作業をしたいと思っています。 詳しく言いますと、同一のフォルダ内に各店からの注文書のファイルを保存し(フォーマットは同じ)、それを集計用のファイルで、それぞれ入力してあるデータを読み込み一覧にしていくという作業です。 転記部分をサブルーチンにしています。 実行すると、最後の topRng.PasteSpecial xlPasteValues でエラーになり、「実行時エラー1004 この操作には同じサイズの結合セルが 必要です」とメッセージが出ます。 そこで結合セルを解除したのですが、同じメッセージが出てしまいます。 どこをどう修正すればよいのか、お教え頂けないでしょうか? 転記先のセルの開始位置の取得が間違っているのでしょうか? 宜しくお願いいたします。 Dim keyRng As Range Sub 集計開始() myDir = "D:\集計用" flg = 0 ChDir myDir MyName = Dir(myDir & "\*.xls") Do While MyName <> "" Set mybook = Workbooks.Open(MyName) Call 転記(mybook.Sheets(1).Range("D6"), flg) flg = 1 Application.DisplayAlerts = False mybook.Close Application.DisplayAlerts = True MyName = Dir Loop Application.ScreenUpdating = True MsgBox ("集計処理が終わりました") End If End Sub Sub 転記(myRng, mytitle) Set keyRng = Range("A1") If keyRng = "" And keyRng.Offset(1) = "" Then Set topRng = keyRng Else Set topRng = keyRng.End(xlDown).Offset(1) End If Set mytbl = myRng.CurrentRegion If mytitle = 1 Then Set mytbl = mytbl.Offset(1, 0).Resize(mytbl.Rows.Count - 1, mytbl.Columns.Count) End If mytbl.Copy topRng.PasteSpecial xlPasteValues End Sub

  • ExcelVBAでの転記処理エラーについて

    ExcelVBAを使用して、データを転記集約させる作業をしたいと思っています。 詳しく言いますと、同一のフォルダ内に各店からの注文書のファイルを保存し(フォーマットは同じ)、それを集計用のファイルで、それぞれ入力してあるデータを読み込み一覧にしていくという作業です。 転記部分をサブルーチンにしています。 実行すると、最後の topRng.PasteSpecial xlPasteValues でエラーになり、「実行時エラー1004 この操作には同じサイズの結合セルが 必要です」とメッセージが出ます。 そこで結合セルを解除したのですが、同じメッセージが出てしまいます。 どこをどう修正すればよいのか、お教え頂けないでしょうか? 転記先のセルの開始位置の取得が間違っているのでしょうか? 宜しくお願いいたします。 Dim keyRng As Range Sub 集計開始() myDir = "D:\集計用" flg = 0 ChDir myDir MyName = Dir(myDir & "\*.xls") Do While MyName <> "" Set mybook = Workbooks.Open(MyName) Call 転記(mybook.Sheets(1).Range("D6"), flg) flg = 1 Application.DisplayAlerts = False mybook.Close Application.DisplayAlerts = True MyName = Dir Loop Application.ScreenUpdating = True MsgBox ("集計処理が終わりました") End If End Sub Sub 転記(myRng, mytitle) Set keyRng = Range("A1") If keyRng = "" And keyRng.Offset(1) = "" Then Set topRng = keyRng Else Set topRng = keyRng.End(xlDown).Offset(1) End If Set mytbl = myRng.CurrentRegion If mytitle = 1 Then Set mytbl = mytbl.Offset(1, 0).Resize(mytbl.Rows.Count - 1, mytbl.Columns.Count) End If mytbl.Copy topRng.PasteSpecial xlPasteValues End Sub

  • ExcelVBAでの転記処理エラーについて

    ExcelVBAを使用して、データを転記集約させる作業をしたいと思っています。 詳しく言いますと、同一のフォルダ内に各店からの注文書のファイルを保存し(フォーマットは同じ)、それを集計用のファイルで、それぞれ入力してあるデータを読み込み一覧にしていくという作業です。 転記部分をサブルーチンにしています。 実行すると、最後の topRng.PasteSpecial xlPasteValues でエラーになり、「実行時エラー1004 この操作には同じサイズの結合セルが 必要です」とメッセージが出ます。 そこで結合セルを解除したのですが、同じメッセージが出てしまいます。 どこをどう修正すればよいのか、お教え頂けないでしょうか? 転記先のセルの開始位置の取得が間違っているのでしょうか? 宜しくお願いいたします。 Dim keyRng As Range Sub 集計開始() myDir = "D:\集計用" flg = 0 ChDir myDir MyName = Dir(myDir & "\*.xls") Do While MyName <> "" Set mybook = Workbooks.Open(MyName) Call 転記(mybook.Sheets(1).Range("D6"), flg) flg = 1 Application.DisplayAlerts = False mybook.Close Application.DisplayAlerts = True MyName = Dir Loop Application.ScreenUpdating = True MsgBox ("集計処理が終わりました") End If End Sub Sub 転記(myRng, mytitle) Set keyRng = Range("A1") If keyRng = "" And keyRng.Offset(1) = "" Then Set topRng = keyRng Else Set topRng = keyRng.End(xlDown).Offset(1) End If Set mytbl = myRng.CurrentRegion If mytitle = 1 Then Set mytbl = mytbl.Offset(1, 0).Resize(mytbl.Rows.Count - 1, mytbl.Columns.Count) End If mytbl.Copy topRng.PasteSpecial xlPasteValues End Sub

  • ExcelVBAでの転記処理エラーについて

    ExcelVBAを使用して、データを転記集約させる作業をしたいと思っています。 詳しく言いますと、同一のフォルダ内に各店からの注文書のファイルを保存し(フォーマットは同じ)、それを集計用のファイルで、それぞれ入力してあるデータを読み込み一覧にしていくという作業です。 転記部分をサブルーチンにしています。 実行すると、最後の topRng.PasteSpecial xlPasteValues でエラーになり、「実行時エラー1004 この操作には同じサイズの結合セルが 必要です」とメッセージが出ます。 そこで結合セルを解除したのですが、同じメッセージが出てしまいます。 どこをどう修正すればよいのか、お教え頂けないでしょうか? 転記先のセルの開始位置の取得が間違っているのでしょうか? 宜しくお願いいたします。 Dim keyRng As Range Sub 集計開始() myDir = "D:\集計用" flg = 0 ChDir myDir MyName = Dir(myDir & "\*.xls") Do While MyName <> "" Set mybook = Workbooks.Open(MyName) Call 転記(mybook.Sheets(1).Range("D6"), flg) flg = 1 Application.DisplayAlerts = False mybook.Close Application.DisplayAlerts = True MyName = Dir Loop Application.ScreenUpdating = True MsgBox ("集計処理が終わりました") End If End Sub Sub 転記(myRng, mytitle) Set keyRng = Range("A1") If keyRng = "" And keyRng.Offset(1) = "" Then Set topRng = keyRng Else Set topRng = keyRng.End(xlDown).Offset(1) End If Set mytbl = myRng.CurrentRegion If mytitle = 1 Then Set mytbl = mytbl.Offset(1, 0).Resize(mytbl.Rows.Count - 1, mytbl.Columns.Count) End If mytbl.Copy topRng.PasteSpecial xlPasteValues End Sub

  • Scripting.Dictionaryについて

    オートフィルタで抽出した値をリストボックスに代入する為の コードがあります。 前任者が書いたコードですが、何とか動作を確認しながら 変更しようとしたのですが、わかりませんでした。 やりたいこと Application.Intersect(SS, SS.Offset(1)).Copyからxに格納した 値をmyList(i, 1) = xでリストボックスに入れたい。 問題点     For i = 0 To UBound(v) - 1 .Item(v(i)) = .Item(v(i)) + 1 'アイテムのカウント Next 上記の後に     For Each v In .Keys i = i + 1 myList(i, 0) = v '8行目の値 myList(i, 1) = x '9行目の値を入れたい myList(i, 2) = .Item(v) '8行目のカウント数 Next が実行される際にvの値が重複を除いて、順番にリストに 入る動作が理解できません。 どなたかアドバイスお願いします。 Private Sub ComboBox1_Change() Dim 開始日 As Date Dim 終了日 As Date Dim i, ii As Long, v, x As Variant Dim Sh1 As Worksheet Set Sh1 = Sheets("日報") Set RR = Sh1.Range("A4").CurrentRegion Set CC = RR.Columns(8) Set SS = RR.Columns(9) 開始日 = DateValue(ComboBox1.Value) 終了日 = DateSerial(Year(開始日), Month(開始日) + 1, Day(開始日)) - 1 RR.Worksheet.AutoFilterMode = False ' B列 開始日から月末までの期間を抽出 RR.AutoFilter Field:=1, _ Criteria1:=">=" & 開始日, Operator:=xlAnd, _ Criteria2:="<=" & 終了日 Application.Intersect(CC, CC.Offset(1)).Copy '8行目をコピー With New DataObject .GetFromClipboard v = Split(.GetText, vbCrLf) 'vに代入 Application.Intersect(SS, SS.Offset(1)).Copy '9行目をコピー .GetFromClipboard x = Split(.GetText, vbCrLf) 'xに代入 End With With CreateObject("Scripting.Dictionary") For i = 0 To UBound(v) - 1 .Item(v(i)) = .Item(v(i)) + 1 'アイテムのカウント Next ReDim myList(1 To .Count, 2) i = 0 For Each v In .Keys i = i + 1 myList(i, 0) = v '8行目の値 myList(i, 1) = x '9行目の値を入れたい myList(i, 2) = .Item(v) '8行目のカウント数 Next ListBox1.ColumnCount = 3 ListBox1.List = myList() End With RR.Worksheet.AutoFilterMode = False RR.Worksheet.Application.CutCopyMode = False End Sub