hiko-blog

VBA業務改善

MENU

2024-01-01から1ヶ月間の記事一覧

フォルダ内、検索vbs

VBS

' FileSearchWithOutput.vbs Dim folderPath, searchValue, outputFilefolderPath = InputBox("フォルダのパスを入力してください:")searchValue = InputBox("検索する部分文字列を入力してください:")outputFile = "output.txt" If folderPath = "" Or sear…

KEY列の比較とリスト化

VBA

Sub KEY列の比較とリスト化() Dim ws1 As Worksheet, ws2 As Worksheet, wsResult As Worksheet Dim cell1 As Range, cell2 As Range Dim keyColumn As Integer Dim notFoundInSheet1 As String, notFoundInSheet2 As String Dim resultRow, resultRow2 As L…

比較処理マクロ

Sub 比較処理マクロ() Dim ws1 As Worksheet, ws2 As Worksheet, diffWs As Worksheet, addWs As Worksheet, delWs As Worksheet Dim lastRow1 As Long, lastRow2 As Long, i As Long, j As Long, k As Long Dim foundMatch As Boolean Dim currentTime As D…

環境変数を取得する

VBA

Sub 環境変数を取得する()'コンピュータ名MsgBox "コンピュータ名は" & vbLf & Environ("COMPUTERNAME")'ユーザー名MsgBox "ユーザー名は" & vbLf & Environ("USERNAME")'テンポラリーフォルダのパスMsgBox "テンポラリーフォルダのパスは" & vbLf & Environ…

自動処理マクロcsv保存

VBA

Sub 自動処理マクロcsv保存() ' 指定の時間に実行されるVBAコード ' 例: シート1の5行目以降のA、B、C、E、G、H列のデータをCSVとして保存 Dim FilePath As String Dim LastRow As Long Dim DataRange As Range Dim Today As Date Dim HeaderValue As Varian…

データを検索して代入する_配列

VBA

Sub データを検索して代入する_配列() Dim シート1 As Worksheet Dim シート2 As Worksheet Dim データ1 As Variant Dim データ2 As Variant Dim 結果 As Variant Dim i As Long, j As Long ' シートの参照 Set シート1 = Worksheets("Sheet1") ' シート名を…

データを検索して代入する

VBA

Sub データを検索して代入する() Dim シート1 As Worksheet Dim シート2 As Worksheet Dim セル1 As Range Dim セル2 As Range Dim 検索値1 As String Dim 検索値2 As String Dim 結果セル As Range ' シートの参照 Set シート1 = Worksheets("Sheet1") ' シ…

PowerBI データインポート

VBA

Sub ImportDataFromPowerBI() Dim wbPowerBI As Workbook Dim wsPowerBIData As Worksheet Dim wsDestination As Worksheet ' Power BIからエクスポートしたExcelファイルを開く Set wbPowerBI = Workbooks.Open("Z:\Work\data.csv") ' Power BIデータが含ま…

バッチで、追加する名前を指定、削除する名前を指定

@echo offsetlocal enabledelayedexpansionset "suffix1=Name_" REM 追加する名前を指定set "suffix2=_NameToAdd" REM 追加する名前を指定 REM ドロップされたファイルに対して処理を行う:process_fileif "%~1"=="" goto :eof set "filename=%~n1"set "exten…

コメントの転記

VBA

Sub コメントの転記() Dim シート1 As Worksheet Dim シート2 As Worksheet Dim セル1 As Range Dim セル2 As Range Dim 対応項目が見つかった As Boolean ' シートの参照 Set シート1 = Sheets("Sheet1") ' シート名を適切に変更 Set シート2 = Sheets("She…

列のアイテムの違いを抽出

VBA

Sub 列のアイテムの違いを抽出1() Dim 対象範囲 As Range Dim シート As Worksheet Dim 抽出シート As Worksheet Dim セル As Range Dim 値 As Variant Dim 抽出範囲 As Range Dim 最終行 As Long ' 対象範囲を指定 Set シート = Sheets("Sheet1") ' シート…

リストからファイル振り分け

@echo offpushd %~dp0for /f %%i in (list.txt) do mkdir %%ifor /f %%j in (list.txt) do move "*%%j*" %%jexit

最初に、ファイルの指定シート立ち上げる

VBA

Sub auto_open() Worksheets("Sheet1").Activate Range("A1").SelectEnd Sub もしくは、 Private Sub Workbook_Open() Application.Goto Sheets(1).Range("A1"), True End Sub

シート名取得

VBA

Sub Worksheet_Activate() Dim wbThis As Workbook Dim wsThis As Worksheet Dim ws As Worksheet Dim ListStr As String '変数にこのブックをセット Set wbThis = ThisWorkbook '変数にこのシートをセット Set wsThis = wbThis.Worksheets("csv") 'リスト入…

VLOOKUP範囲を変数(

Sub VLOOKUP範囲を変数() Dim ファイル名 As Variant ファイル名 = InputBox("前日ファイル名入力。") Range("D2").Select ActiveCell.FormulaR1C1 = "=VLOOKUP(RC1," & ファイル名 & "!C1:C4,4,FALSE)"End Sub

特定文字を含むセルを行ごとコピー

VBA

Sub 特定文字を含むセルを行ごとコピー()追加ファイル名を日付けにするDim Sht1 As WorksheetDim Sht2 As WorksheetDim LastRow As LongDim i As LongDim J As LongDim SearchWord1, SearchWord2, SearchWord3, SearchWord4, SearchWord5 As String Set Sht1…

追加ファイル名を日付けにする

VBA

Sub 追加ファイル名を日付けにする()Dim fc As BooleanDim i As Long On Error GoTo error fc = False Worksheets.Add after:=Worksheets(Worksheets.Count) ActiveSheet.Name = Format(Date, "mmdd") Do While (fc) ActiveSheet.Name = Format(Date, "mmdd"…

転記方法

VBA

Option ExplicitSub 転記1()Dim i As LongDim zzz As StringDim dtToday As Date dtToday = Date + 20i = 2 Do Until Sheets("データ").Cells(i, "A").Value = "" With Sheets("ひな形(csv用)") .Cells(i, "a").Value = "0" .Cells(i, "e").Value = dtToday …

バッチ処理で、ファイル名の削除したい文字を入力する

setlocal enabledelayedexpansioncd /d %~dp0 'set keyword=testset /P keyword=削除したい文字を入力: for /f "tokens=*" %%i in ('dir /b ^| findstr /i "%keyword%"') do (set a=%%iren "!a!" "!a:%keyword%=!")

拡張子ごとにフォルダ振り分けしたい

@echo off::フォルダー内list→log化dir /b *.* > log.log ::logにあるリストのみ移動for /f %%a in (log.log) do move "%%a" %%~xaexit

KEY名称ごとにフォルダ振り分けしたい

%echo offset /p x="フォルダ振り分けしたいフォルダの名称作成"set KEY=%x%mkdir %KEY%for /r %%i in (*%KEY%*) do move "%%i" %KEY%

Accessへのexport メンテ版

Option ExplicitSub Accessへのexport()Dim msn As WorksheetSet msn = ThisWorkbook.Worksheets("対象")Dim mycon As New ADODB.Connection 'データベース接続オブジェクトDim dbPath As StringdbPath = "Z:\Work\Database2.accdb"mycon.ConnectionString =…