2021-01-01から1年間の記事一覧

vba:行の一括削除

mmm-program.com こちらの記事を参考にさせていただきました! ``` Private Sub DeleteNgRows() Dim row_End As LongDim rng_DeleteRows As Range '最終行取得row_End = ThisWorkbook.Worksheets("pivot").Cells(Rows.Count, 1).End(xlUp).Row Dim i As Long…

sakura:sakura_keyword_sql.kwd

// SQL キーワード定義ファイル // CASE=False AND AS AVG CASE COUNT DISTINCT ELSE END FROM GROUP BY HAVING IN JOIN LEFT MAX MIN ON ORDER BY RIGHT SELECT THEN WHEN WHERE

sakura:thema_dark.col

; テキストエディタ色設定 Ver3 [SakuraColor] C[BRC]=1,1,ffff84,202020,0 C[CAR]=1,0,f7f7f7,3a3a3a,0 C[CBK]=0,0,f2f8f8,202020,0 C[CMT]=1,0,cc9b6a,202020,0 C[CTL]=0,0,c6c6c6,202020,0 C[CVL]=0,0,ffc184,3a3a3a,0 C[DFA]=0,0,202020,ffc184,0 C[DFC]…

sakura:sql_formatter.mac

// --------------------------------------------------------------------- // SQL文をフォーマットします。(6割くらいはきれいになると思います) // 文字列キーワードは、大文字変換するようにしています。 // // 以下は、TIPSです。 // サクラエディタ…

vba:vlookとindex&match

vlook Sub setVlook() On Error GoTo err: With Worksheets("sheet1") .Range("I3:I10") = WorksheetFunction.VLookup(.Range("B3:B10"), Sheet2.Range("$A$3:$B$10"), 2, False) End With Exit Sub err: Debug.Print err.Number, err.Description End Sub i…

vba:検証用ソース

sheet1 Sub SetData() ' 画面を初期化 Rows("1:19").Select Selection.Delete Shift:=xlUp ' 列の選択状態を解除 Sheet1.Range("A1").Select ' 実行ボタンを生成 With ActiveSheet.Buttons.Add(Range("B5").Left, _ Range("B5").Top, _ Range("B5:D5").Width…

vba:Recordset:SQLで最大値を取得して、Recordsetから取り出す

多分、カラム名を指定しての方が良い気がする。 Dim sqlStr As String sqlStr = "select max(line_limit) as maxLineLimit from line" 'Debug.Print sqlStr Dim rs As Recordset Set rs = dbUtil.ExeSelect(sqlStr) ' 最大値を取得 ' Dim maxLineLimit As Lo…

vba:format

こちらのサイトが見やすい! kosapi.com Public Function ConvertNumberFormat(ByVal num As Long, ByVal formatNo As Long) As String Select Case formatNo Case 1 ConvertNumberFormat = format(num, "General Number") ' 10000 --> 10000 Case 2 Convert…

vba:EXCELSQL(エラー出力を実装)

sheet1 Sub SetData() ' 画面を初期化 Rows("1:19").Select Selection.Delete Shift:=xlUp ' 列の選択状態を解除 Sheet1.Range("A1").Select ' 実行ボタンを生成 With ActiveSheet.Buttons.Add(Range("B5").Left, _ Range("B5").Top, _ Range("B5:D5").Width…

vba:CommonUtil

呼び出しは、こんな感じ ' ===================== ' 開始処理 ' ===================== Dim comUtil As CommonUtil Set comUtil = New CommonUtil comUtil.ExeInit クラス:CommonUtilで実装 Option Explicit Public Sub ExeInit() With ActiveWorkbook.Appl…

vba:エラー処理

クラス:LogUtilで実装 エラーまでをがっつり実装するメリットがあまりない気がする。 Option Explicit '----------------------------------------------------- ' エラーログをファイルに出力する ' 出力先は、実行ファイルと同様のフォルダ、出力先のフォ…

vba:EXCELSQL(DBconnectionを部品化)

こちらのサイトを参考にさせていただきました。 excelwork.info Sub SetData() ' 画面を初期化 Rows("1:19").Select Selection.Delete Shift:=xlUp ' 列の選択状態を解除 Sheet1.Range("A1").Select ' 実行ボタンを生成 With ActiveSheet.Buttons.Add(Range(…

vba:課題(EXCELSQLバージョン)

EXCELSQLバージョン 速度は、よくわからない。 ただ、閾値以上の配列を作成する処理が、SQLで代替できるので、保守性は高いと思う。 Sub SetData() ' 画面を初期化 Rows("1:19").Select Selection.Delete Shift:=xlUp ' 列の選択状態を解除 Sheet1.Range("A1…

vba:EXCELSQL

内容 シートのテーブル(テーブル化は不要みたい)に対して、SQLで処理を行う。 ' Excelシートのデータに対して、SQLで対象を取得する Sub ExeSql() ' 処理対象ファイルのフルパス Dim fileFullName As String fileFullName = ThisWorkbook.FullName Dim cn As…

vba:ListObjects(今思っていること)

基本的な考え方 DBから、データを取得する時に、できる計算処理はなるべくSQLで行う。 VBAでは、できる限り分析用に成形する処理を行う。 DBからデータを取得、シートに出力、テーブル化、成形処理を実施。 ListObjectsについて(本題) ListObjectsをできる…

vba:コーディング規約&ネーミングルール

お世話になっている、高橋先生のルールが、世界標準になりますように。 ルールの良し悪しももちろんあるが、みんなが同じルールってのが、大事! tonari-it.com プロシージャ、ファンクション、モジュール、メソッド、プロパティ キャメル記法:頭文字大文字…

vba:メッセージ

入力チェック(OKボタンのみ、!マーク、OKボタンに初期フォーカス) Dim msg As String: msg = "XXは、必須項目です。的なメッセージ" ' メッセージボックスの仕様(入力チェック) Dim style As Long: style = vbOKOnly + vbExclamation + vbDefaultButton…

vba:for-next:配列

ちょっと、気になるのは、格納順と出力順 ただし、基本的には、引数確定で使うと思うので、こんな感じで出力されると覚えておけばOKと思われる Sub mysub() ' 適当に、格納してみる 'ちなみに、要素数は、4。0からあるので。 Dim numbers(1, 1) As Long num…

vba:for-next基礎

' 基本的には、countで実装するで問題ないし、使い勝手が良いと思う。 Sub mysub() Dim i As Long For i = 1 To ThisWorkbook.Sheets.Count Debug.Print i, ThisWorkbook.Sheets(i).Name, "シート名" Next i Dim cell As Range ' rangeで値を取得するのは良…

vba:課題

新規ブックのsheet1に張り付ける Sub SetData() ' 画面を初期化 Rows("1:19").Select Selection.Delete Shift:=xlUp ' 列の選択状態を解除 Sheet1.Range("A1").Select ' 実行ボタンを生成 With ActiveSheet.Buttons.Add(Range("B5").Left, _ Range("B5").Top…

vba:SQLの結果をExcelに出力

SSMSの結果と同じ Range("B1").CopyFromRecordset Data:=rs 縦横入れ替え Range("B1:F2").Value = rs.GetRows

vba:グラフ削除

` Dim r As Long ' グラフを削除 With ActiveSheet For r = .ChartObjects.Count To 1 Step -1 .ChartObjects(r).Delete Next r End With `

vba:配列に格納と配列をExcelに出力

```配列を格納 Dim MyArray1 MyArray11 = Range("C5:C14").Value ``` ```配列に出力 Range("F5:F14").Value = MyArray12 ```