起動したら自動で実行し、そのまま終了するExcelブックを マクロを無効にして起動するプロシジャです。 ===================== Sub bkOpenNoMacro() Dim str As String Dim sWB As String ’ ブック名を指定する sWB = "XXXXXV2_R6_Auto…
=if(G5=1 ,query(MEV!B11:K500,"SELECT B,D,E,G,H,I,K WHERE (D >= '"&D2&"' and D <= '"&E2&"') and (E>="&D3&" and E<="&E3&") and (G ="&E5&") and (H ="&F5&")") ,query(MEV!B11:K500,"SELECT B,D,E,G,H,I,K WHERE (D >= '"&D2&"' and D <= '"&E2&"') an…
TgtCELL を2つにして範囲指定にする
filter関数で tgtCELL: A->B, B->A, ALL->"" として 対象範囲 <> tgtCELL
数十万行から、目的の条件の最新データを1件探す。 通常、2分程度かかっていたが、インデックスで 1秒に短縮できた。 インデックスのクリエイト CREATE INDEX getLastData ON dbo.pVr_T_MEV ( Site,Line,Machine,MEV_NAME ) GO 結果 DECLARE @Site nvarch…
JSONデータを1つの列の格納されたJSON文字列から、可変数の項目&値を取り出す方法です。 ストアドの内部に @innerSQL @ParamSQL を使って、WHILE ループで必要数のJSON項目をパースします。 -- ============================================= -- Author: …
説明:項目が数珠つなぎに列挙されたテキストから、項目を抽出する スカラー値関数 説明:項目が数珠つなぎに列挙されたテキストから、項目を抽出する スカラー値関数 CREATE FUNCTION [dbo].[GetMidText] ( @strTGT nvarchar(max) --= 'ID=123 氏名=山田太…
" data-en-clipboard="true">製品名称 = "製品名XXXXX ?" という " ?" という不思議なゴミコード replace("製品名XXXXX ?","?","") が効かない replace("製品名XXXXX ?","vblf","") も効かない WorksheetFuntion.clear("製品名XXXXX ?") も効かない なので、…
docs.google.com
BIサービス SQL高速化の仕組み SQL高速化 を考えてみます。 2つのレコードを接続するとき 例1 1万行の検査データ と 100行の 品目マスタデータ があり 検査データの 品目コードに 品目マスタの 品目名と標準原価をつなぐ。 方法 ①LEFT OUTER JOIN ②INNE…
Excel テキストファイル読み込みを TextStream で劇的に高速化した 条件:文字数 85万文字 before 4分 after 0.4秒 当初の1行処理 文字数 85万 で 4分 Public Function ReadTextFile(ByVal sFilePath As String, _ ByRef strResult As String, _ Optional…
SQL 小数点以下の Zero を消去する 不良率とか 割り算すると、 1.2300000000 というように Zero が限りなく表示されます。 ときどき 突っかかるので、備忘で記録しました。 小数点以下のzeroを消去する convert(float,round((((sum(不良数) * 1.0) / sum(検…
Excel からメールが送信できる。今ごろ知ったのが少し恥ずかしいです。 CreateObject("CDO.Message") を使うと簡単にできるのですね、 www.google.com すると記事が沢山でてきます。 この機能で、HTML 本文、HTML署名 さらに添付ファイルもできる。 ーーー …
中国語の簡体字を、SQLサーバに登録する。というテーマです。 自分は いつもExcelシートで登録データを編集して、VBAでSQLサーバにアップロードしています。 ところが、Excelで簡体字は編集できまがVBAでは Unicode が扱えず、結果として簡体字が '???' と壊…
罫線を引く を解読する なにもないシートに 罫線を引きます。 この 罫線を引く動作を マクロの記録 でコードをとります。 取得したコード こんなに沢山コードができます。------------------------ Sub Macro6() Range("B2:D4").Select Selection.Borders(xl…
必要に迫られて、Case When 内に サブクエリをいれてみました。 備忘でここに記します。 ----------------------------------- ,case when Cnt = (select count(distinct(Place)) PlaceCnt from [dbo]. [Table_xxxx] where InspstepsID = A.InspstepsID and …
外部システムへのアクセスや、システム間通信などの時、グローバルIPアドレスの登録を求められることがあります。調べ方を探すのが面倒な時は、こちらのグローバルIPアドレス取得プログラムをご利用ください。 ↑クリックでダウンロード
自分が使っているExcelのバージョンは何? これが Excelのバージョンによって、調べ方が異なるので(?)迷うこともあるかと思います。 またExcelマクロがバージョンによって動作が異なることがあるなど、調べる必要がでてきます。 それで PCのExcelバージョ…
SQLテーブルのレコードの日付列が空白になっている!! エッ その日付で集計分析しているのに!! 登録するタブレット側のプログラムを修正するには時間がない。 こんな時はトリガーの出番です。トリガーとは、レコードが新規追加や更新が発生した時に作動す…
同じ品物を何度も購入したとき、最安値は? 同じ品物を何度も購入したとき、最後に購入した時の価格は? など いろんな条件でデータが欲しくなります。 そんなとき、ROW_NUMBER() OVER(partition を使うと便利です。 元々のデータ 検索するコード SELECT * F…
VBA で Excelシートを、Read Write するとき、そのシートにフィルターがかかっていると誤動作しやすいです。 それで、シートを扱う前に オートフィルターを次の方法で調整します。 ①もし フィルターがかかっていたら、フィルターを解除する。 ②後で利用者の…
このテーマで、関数をつかうと、シンプルに作れます。 EOMONTH という関数は 月末を求める関数です。 EOMONTH('対象日', 追加月数) 月数はマイナスもあり ------------------------------------------------ サンプルコード SELECTDATEADD(Day,1,EOMONTH(ge…
SQL で データ集計して、時系列のデータの累積を求める というテーマがあります。 つまり 開始から各行までの合計だったり、過去7回の累計で移動平均を求める など これまではストアドプロシジャのカーソル処理で1行づつ計算する方法を採っていました。 と…
Excel VBA での月初と月末日を求める関数です。 日付の操作は毎回調べるので、ここに記します。 --------------------------------------- '指定日の月初日を取得するPublic Function fnc_xlGetDateFirstofMonth(ByVal d As Date) Dim dRes As Date dRes = D…
10, 20, 30, , , といった数字文字を 0010, 0020, 0030, , , のような 4桁数字に変換することはよくあります。 --- コード ---- DECLARE @No nvarchar(20) = '20' SELECT RIGHT('0000' + @No,4) as Num4 ---- 結果 ----- Num40020 ------------------ それ…
よく使うのですが、毎回コーディングすると大変なので、備忘でしるします。 SELECT dateadd(day,0,convert(date,convert(nvarchar,year(dateadd(MONTH,0,dateadd(hour,9,getdate())))) + '/' + convert(nvarchar,month(dateadd(MONTH,0,dateadd(hour,9,getda…
職場で隣の部署の方に頼まれた。 アンケートの名簿が2つあり、結合したいのですが、名前が '山田一郎', '山田 一郎', ’山田 一郎' というような、空白なし、全角空白、半角空白 が混在していて Vlookupでマッチングできなくて困ってます。 とりあえず、急ぎ…
SQLストアドで 実行時刻を表示させた EXEC sp_executesql @InnerSQLprint '実行時刻= ' + convert(nvarchar,DateAdd(Hour,9,getdate())) 結果 ================= 実行時刻= Aug 17 2019 7:53AM ========================
SQLテーブルを見るとき テーブルの 「行数」「最初データ」「最後データ」を見ます。 その いつものコードです。 SELECT count(*) as Cnt , Min(WorkStateDT) as SttDT ,Max(WorkStateDT) as EndDT FROM [テーブル名] Cnt SttDT EndDT699965 2019-04-01 00:0…
よくありそうで すぐにつくれないので ここに記録します。 Private Sub mc() ' MsgBox (fnc_getMacAddress) MsgBox (fnc_GetMacAdrs)End Sub Public Function fnc_GetMacAdrs() As String ' ????_MAC?A?h???X????() Dim objConf, objMACEna, strIP Set objCo…