mitarashi の回答履歴

全1833件中21~40件表示
  • VBAのVLOOKUPの速度向上について

    VBAでVLOOKUPの速度向上について、お知恵を貸していただきたく存じます。 以下のVLOOKUPのVBAがおそく、速くしたいです。行数は2万行ぐらいです。 何卒よろしくお願い申し上げます。 Dim 範囲A As Range Set 範囲A = Worksheets("取引先").Range("A:H") On Error Resume Next myCnt5 = 2 Do Worksheets("受注データ").Cells(myCnt5, 49).Value = WorksheetFunction.VLookup(Worksheets("受注データ").Cells(myCnt5, 48), 範囲A, 6, False) myCnt5 = myCnt5 + 1 If Worksheets("受注データ").Cells(myCnt5, 1).Value < 10 Then Exit Do Loop On Error Resume Next myCnt6 = 2 Do Worksheets("受注データ").Cells(myCnt6, 51).Value = WorksheetFunction.VLookup(Worksheets("受注データ").Cells(myCnt6, 50), 範囲A, 8, False) myCnt6 = myCnt6 + 1 If Worksheets("受注データ").Cells(myCnt6, 1).Value < 10 Then Exit Do Loop On Error Resume Next myCnt7 = 2 Do Worksheets("受注データ").Cells(myCnt7, 53).Value = WorksheetFunction.VLookup(Worksheets("受注データ").Cells(myCnt7, 52), 範囲A, 6, False) myCnt7 = myCnt7 + 1 If Worksheets("受注データ").Cells(myCnt7, 1).Value < 10 Then Exit Do Loop 補足 上記VBAには記載していませんが、Application.ScreenUpdatingの停止、Application.Calculationを手動の設定はしています。

  • VBAのVLOOKUPの速度向上について

    VBAでVLOOKUPの速度向上について、お知恵を貸していただきたく存じます。 以下のVLOOKUPのVBAがおそく、速くしたいです。行数は2万行ぐらいです。 何卒よろしくお願い申し上げます。 Dim 範囲A As Range Set 範囲A = Worksheets("取引先").Range("A:H") On Error Resume Next myCnt5 = 2 Do Worksheets("受注データ").Cells(myCnt5, 49).Value = WorksheetFunction.VLookup(Worksheets("受注データ").Cells(myCnt5, 48), 範囲A, 6, False) myCnt5 = myCnt5 + 1 If Worksheets("受注データ").Cells(myCnt5, 1).Value < 10 Then Exit Do Loop On Error Resume Next myCnt6 = 2 Do Worksheets("受注データ").Cells(myCnt6, 51).Value = WorksheetFunction.VLookup(Worksheets("受注データ").Cells(myCnt6, 50), 範囲A, 8, False) myCnt6 = myCnt6 + 1 If Worksheets("受注データ").Cells(myCnt6, 1).Value < 10 Then Exit Do Loop On Error Resume Next myCnt7 = 2 Do Worksheets("受注データ").Cells(myCnt7, 53).Value = WorksheetFunction.VLookup(Worksheets("受注データ").Cells(myCnt7, 52), 範囲A, 6, False) myCnt7 = myCnt7 + 1 If Worksheets("受注データ").Cells(myCnt7, 1).Value < 10 Then Exit Do Loop 補足 上記VBAには記載していませんが、Application.ScreenUpdatingの停止、Application.Calculationを手動の設定はしています。

  • [Excel ADO]テキストとシートの混在使用法

    Excel2007を使っています。 ADOを使ったSQL処理をやっているのですが、 元データ(テーブル)をCSVファイルと、エクセルのシートの両方を使うことはできますか? 例えば、商品コード表とか担当者コード表みたいな比較的小規模かつ動きの少ないものはエクセルシート上の表を参照し、CSVファイルの売上データを処理する、というようなイメージです 小さなテーブルのファイルが増えていくのがイヤで、ひとつのブック内に集約しておけないものでしょうか

  • [Excel ADO]テキストとシートの混在使用法

    Excel2007を使っています。 ADOを使ったSQL処理をやっているのですが、 元データ(テーブル)をCSVファイルと、エクセルのシートの両方を使うことはできますか? 例えば、商品コード表とか担当者コード表みたいな比較的小規模かつ動きの少ないものはエクセルシート上の表を参照し、CSVファイルの売上データを処理する、というようなイメージです 小さなテーブルのファイルが増えていくのがイヤで、ひとつのブック内に集約しておけないものでしょうか

  • Excel 2007 のグラフにコメントを表示

    Excel 2007 で血圧を記録し、VBAで縦軸を血圧値、横軸を日付にした任意の範囲の折れ線グラフを表示できるようにしています。 選択したグラフ範囲(日付範囲)に、別途指定したイベント発生日が含まれていれば、その日付の位置にフルスケールの縦線を表示させ、可能であればそれと共にグラフの適当な位置にその日付に関連したイベントの内容を表示させたいと思います。 イベント発生日にグラフに縦線を表示する手順は添付画像に示すように系列(イベント発生)を追加しイベント発生日のデータ欄に縦軸の最大目盛り値以上の数値を書き込んで、この系列を棒グラフに変更して縦線を表示しています。(棒グラフの幅は最小幅に設定) イベントの内容は別のセルに書き込んでおいて、そのセルを参照してグラフ上に表示させたいと思いますが、具体的な方法が浮かんで来ません。 よいアイデアがあれば教えてください。 よろしくお願いします。

  • Excel 2007 のグラフにコメントを表示

    Excel 2007 で血圧を記録し、VBAで縦軸を血圧値、横軸を日付にした任意の範囲の折れ線グラフを表示できるようにしています。 選択したグラフ範囲(日付範囲)に、別途指定したイベント発生日が含まれていれば、その日付の位置にフルスケールの縦線を表示させ、可能であればそれと共にグラフの適当な位置にその日付に関連したイベントの内容を表示させたいと思います。 イベント発生日にグラフに縦線を表示する手順は添付画像に示すように系列(イベント発生)を追加しイベント発生日のデータ欄に縦軸の最大目盛り値以上の数値を書き込んで、この系列を棒グラフに変更して縦線を表示しています。(棒グラフの幅は最小幅に設定) イベントの内容は別のセルに書き込んでおいて、そのセルを参照してグラフ上に表示させたいと思いますが、具体的な方法が浮かんで来ません。 よいアイデアがあれば教えてください。 よろしくお願いします。

  • WORDファイルに埋め込んだ画像の容量確認

    現在、取説を作成するためにWORD2013を使用しています。oneDriveでクラウド上に置いて閲覧共有なども行っています。 現在いろいろと画像やパワーポイントファイルや花子のファイルなどをファイルに埋め込んでいったところ96Mbyte程度になってしまいました。 余りにもネット上を介して他の人と共有して閲覧などをしてもらってもダウンロードにあまりにも時間がかかるということで、できるだけ花子のファイルやパワーポイントのファイルの埋め込みは中止して画像ファイルに置き換えて行っています。 しかし、画像を切り替えていってもファイル容量が2Mbyte程度しか縮まず、95Mbyte程度にしか圧縮されません。 図ツール--->図の圧縮 の機能をいくつか試してみましたが、全然減りません。埋め込んでいる画像ファイルがけっこうあるので、その中でもファイル容量の大きい画像を見つけて画像の圧縮をかけたいと思っています。 画像容量が大きいファイルなどを見つけるために、それぞれの画像のファイル容量を表示することはできませんでしょうか? どうぞ、ご教示頂きますよう、よろしくお願い致します。

  • Excelのスクリーンショットについて

    Excelのプリントスキャンについて教えて下さい。 デジカメとPCをHDMIで接続します。 当然PCの画面上にはデジカメで映してる映像が映されています。 その画面のみをプリントスキャンし、Excelの結合してあるアクティブセルに セルのサイズに合わせて貼り付けを行いたいです。 マクロを組んで、プリントスキャンを行いましたが Excelシートが前面にある状態でないとボタンが機能しない為 デジカメの画面がプリントスキャンできませんでした。 またExcelの【挿入】→【スクリーンショット】から 使用出来るウィンドを選択し、挿入ができますがそのままの画面サイズで 貼り付けられてしまう為、目的が達成で来ません。 一番いいのは、マクロ実行ボタンを押す→スクリーンショットの使用できるウィンドが表示される →自分でウィンドを選択する→アクティブの結合されているセルにそのセルサイズに合わせて画像が貼り付けられる →選択したスクリーンショットをJPG画像として指定いたフォルダに保存する という形が出来れば一番いいです。 このような方法が可能でしょうか?

  • Excelのスクリーンショットについて

    Excelのプリントスキャンについて教えて下さい。 デジカメとPCをHDMIで接続します。 当然PCの画面上にはデジカメで映してる映像が映されています。 その画面のみをプリントスキャンし、Excelの結合してあるアクティブセルに セルのサイズに合わせて貼り付けを行いたいです。 マクロを組んで、プリントスキャンを行いましたが Excelシートが前面にある状態でないとボタンが機能しない為 デジカメの画面がプリントスキャンできませんでした。 またExcelの【挿入】→【スクリーンショット】から 使用出来るウィンドを選択し、挿入ができますがそのままの画面サイズで 貼り付けられてしまう為、目的が達成で来ません。 一番いいのは、マクロ実行ボタンを押す→スクリーンショットの使用できるウィンドが表示される →自分でウィンドを選択する→アクティブの結合されているセルにそのセルサイズに合わせて画像が貼り付けられる →選択したスクリーンショットをJPG画像として指定いたフォルダに保存する という形が出来れば一番いいです。 このような方法が可能でしょうか?

  • Excelのスクリーンショットについて

    Excelのプリントスキャンについて教えて下さい。 デジカメとPCをHDMIで接続します。 当然PCの画面上にはデジカメで映してる映像が映されています。 その画面のみをプリントスキャンし、Excelの結合してあるアクティブセルに セルのサイズに合わせて貼り付けを行いたいです。 マクロを組んで、プリントスキャンを行いましたが Excelシートが前面にある状態でないとボタンが機能しない為 デジカメの画面がプリントスキャンできませんでした。 またExcelの【挿入】→【スクリーンショット】から 使用出来るウィンドを選択し、挿入ができますがそのままの画面サイズで 貼り付けられてしまう為、目的が達成で来ません。 一番いいのは、マクロ実行ボタンを押す→スクリーンショットの使用できるウィンドが表示される →自分でウィンドを選択する→アクティブの結合されているセルにそのセルサイズに合わせて画像が貼り付けられる →選択したスクリーンショットをJPG画像として指定いたフォルダに保存する という形が出来れば一番いいです。 このような方法が可能でしょうか?

  • vbaの速度向上について

    以下のエクセルvba内で、「シート★」のA列(項目名:条件)にある値に該当するデータのみを、抽出するというSQLを書いているのですが、その速度を速めたいです。 時間が掛かる部分は、SELECT句のところで、A列の条件を参照するのが、上から一つ一つになるためと分かっています。。。 何とか速度を速めることはできないでしょうか?お知恵を貸してください。 ※A列の条件が入力されている値の数(行数)は、変動します。 最小で50、最大で200となります。 ◆以下、VBA(一部)-------------- Dim mySQL AS String Dim i n = Cells(Rows.Count, 1).End(xlUp).Row For i = 2 to n mySQL = "SELECT * FROM [シート★$] WHERE 条件 = Cells(n, 1) " ※この下に、上記SQLから別シートにデータを出力するSQLを記載 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 以上

  • vbaの速度向上について

    以下のエクセルvba内で、「シート★」のA列(項目名:条件)にある値に該当するデータのみを、抽出するというSQLを書いているのですが、その速度を速めたいです。 時間が掛かる部分は、SELECT句のところで、A列の条件を参照するのが、上から一つ一つになるためと分かっています。。。 何とか速度を速めることはできないでしょうか?お知恵を貸してください。 ※A列の条件が入力されている値の数(行数)は、変動します。 最小で50、最大で200となります。 ◆以下、VBA(一部)-------------- Dim mySQL AS String Dim i n = Cells(Rows.Count, 1).End(xlUp).Row For i = 2 to n mySQL = "SELECT * FROM [シート★$] WHERE 条件 = Cells(n, 1) " ※この下に、上記SQLから別シートにデータを出力するSQLを記載 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 以上

  • vbaの速度向上について

    以下のエクセルvba内で、「シート★」のA列(項目名:条件)にある値に該当するデータのみを、抽出するというSQLを書いているのですが、その速度を速めたいです。 時間が掛かる部分は、SELECT句のところで、A列の条件を参照するのが、上から一つ一つになるためと分かっています。。。 何とか速度を速めることはできないでしょうか?お知恵を貸してください。 ※A列の条件が入力されている値の数(行数)は、変動します。 最小で50、最大で200となります。 ◆以下、VBA(一部)-------------- Dim mySQL AS String Dim i n = Cells(Rows.Count, 1).End(xlUp).Row For i = 2 to n mySQL = "SELECT * FROM [シート★$] WHERE 条件 = Cells(n, 1) " ※この下に、上記SQLから別シートにデータを出力するSQLを記載 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 以上

  • エクセル 画像ドラッグドロップ

    エクセルにドラッグドロップでマウスを放した場所に画像を入れられませんか? ポインタに+の記号が出るので、マクロを組めばできそうな気がしますが、 やり方が思いつきません。 ヒントだけでもよいですので、よろしくお願いします。

  • エクセル 画像ドラッグドロップ

    エクセルにドラッグドロップでマウスを放した場所に画像を入れられませんか? ポインタに+の記号が出るので、マクロを組めばできそうな気がしますが、 やり方が思いつきません。 ヒントだけでもよいですので、よろしくお願いします。

  • エクセルで異常 VBAのPGを取り出せない

    お世話になります。 Excel 2010で互換モードでxlsファイルを使っていたのですが、xlsmに変更してVBAの更なる自動化を図っていました。 そのファイルを書いている最中、別件で、共有ファイルを開く仕事が入って、開いた途端、応答なしになり、強制終了せざるを得なくなりました。 何回もxlsmのファイルを起動しようとしたのですが、開けず、かなり書いたプログラムを読むことができません。 そのファイルは、VSSに張り付いていたxlsを加工していますので、別途保存していませんし、ファイルが大きいので自動保存もしていませんでした。 xlsのファイルから作り直しでしょうか? よろしくお願いします。 P.S.会社のファイルなので社外に持ち出すことができません。 来週以降にならないといじることはできないセキュリティシステムになっています。

  • ユーザーフォーム、リストボックスに重複なしのリスト

    ユーザーフォームリストボックスに 重複なしのリストを作りたく、調べたところ以下のソースを発見しました。 記載した所思った通りに実装できたのですが ソースがのっていたのは 詳しく解説しているサイトではなくよくわからぬままソースのコピーで実装しています 出来れば、下記の解説をお願いしたいです Private Sub UserForm_Initialize() Dim f As Long Dim v As Variant Dim Lrow As Long Dim WS As Worksheet Set WS = Worksheets("Sheet1") Lrow = WS.Range("A" & CStr(Rows.Count)).End(xlUp).Row v = WS.Range("A1:A" & CStr(Lrow)).Value With CreateObject("Scripting.Dictionary")    For f = 1 To UBound(v)       .Item(v(f, 1)) = Empty    Next    ListBox1.List = .Keys End With End Sub

  • ユーザーフォーム、リストボックスに重複なしのリスト

    ユーザーフォームリストボックスに 重複なしのリストを作りたく、調べたところ以下のソースを発見しました。 記載した所思った通りに実装できたのですが ソースがのっていたのは 詳しく解説しているサイトではなくよくわからぬままソースのコピーで実装しています 出来れば、下記の解説をお願いしたいです Private Sub UserForm_Initialize() Dim f As Long Dim v As Variant Dim Lrow As Long Dim WS As Worksheet Set WS = Worksheets("Sheet1") Lrow = WS.Range("A" & CStr(Rows.Count)).End(xlUp).Row v = WS.Range("A1:A" & CStr(Lrow)).Value With CreateObject("Scripting.Dictionary")    For f = 1 To UBound(v)       .Item(v(f, 1)) = Empty    Next    ListBox1.List = .Keys End With End Sub

  • チェックで指定行を非表示

    チェックボックスでチェックしたらもしくはボタンを押したら指定行を非表示になるようにしたいのですがどなたか解る方よろしく願います。

  • Excelシート上に貼り付けられたファイルの保存

    Excelシート上(A.xlsx)にさらにExcelファイル(B.xlsx)が貼り付けられています。 A.xlsxのシート上では、ExcelのアイコンとB.xlsxのファイル名が見えている状態です。 アイコンをクリックしてB.xlsxのファイルを開くことはできますが、そこから保存しようとすると、A.xlsxのファイル名で保存されようとします。 アイコンの右クリックでもExcelファイルとしての保存はできなさそうです。 このB.xlsxを、簡単にB.xlsxのファイル名で保存する方法はないでしょうか? もちろん手で画面をみながら再入力すれば可能ですが、入力ミスや手間を省きたいのです。 Excelのバージョンは2010です。