VBA

CSVファイルを変換出力する(Worksheetを介さない)

VBA

Sub CSVconvert() '////////////////////////////// 'csvをworksheetを介さず変換する 'VBSで十分できる '////////////////////////////// Dim fso As Object, inf, outf, aLine, field, wk '取り込むファイルをダイアログで選択、キャンセルで中断 FileN = …

CSVを取り込む その2

VBA

Dim FileNDim shTHIS As WorksheetDim tmpDim strBufDim clm'取り込むファイルをダイアログで選択、キャンセルで中断FileN = Application.GetOpenFilename("CSVファイル,*.csv")If FileN = False Then Exit Sub'取り込み先のシートを指定Set shTHIS = ThisWo…

ファイルを指定して開く

VBA

Dim FileNameFileName = Application.GetOpenFilename("CSVファイル,*.csv")Workbooks.Open FileName 実行するとファイル選択のダイアログボックスが表示される。選択し【開く】を押すとファイルのフルパスを文字列として取得する。↑この例ではCSVのみ表示さ…

CSVをExcelに取り込む

VBA

Dim tmpDim strBuf As String, strBuf1 As StringDim i As LongDim LastLEN As LongDim shThis As WorksheetDim CSVpath As String'シートとCSVのパスを指定Set shThis = ThisWorkbook.Worksheets("")CSVpath = ""'取り込み先のシートをクリアWith shThis .C…

別のブックからシートを取り込む

VBA

Dim ws as worksheetDim wb as workbook SN = "シート名"BN = "ブック名"Bpath = "ブックのPath"'マクロ実行ブックに目的のシートがあれば消すFor Each ws In ThisWorkbook.Worksheets If ws.Name = SN Then ws.DeleteNext ws'目的のブックを開いているか判…

VBAでメールを送る

【Excel】VBAでOutlookメールを作成する - 意外となんとかなる日記

【RemoveDuplicates】重複削除する

VBA

・サンプル Range("A1:B" & .Cells(1, 1).End(xlDown).Row).RemoveDuplicates Columns:=Array(1, 2),Header:=xlYes このサンプルはA1からの連続最終行を求め、A1:B最終行の範囲を指定。重複判定Columnsに1列目(A列),2列目(B列)を指定しヘッダー(範囲内の1行…

【AdvancedFilter】テーブルからデータ抽出

VBA

テーブルから条件を指定して抽出する Worksheets("").Range("").AdvancedFilter _'テーブルを指定 Action:=xlFilterCopy, _ CriteriaRange:=Worksheets("").Range(""), _'抽出条件がある範囲を指定 CopyToRange:=Worksheets("").Range(""), _'抽出先を指定 U…

【VBA】便利コード集

VBA

実行中の表示を更新するかしないか (Trueにするのを忘れずに) Application.ScreenUpdating = False 実行中のアラートを無視するかしないか (Trueにするのを忘れずに)※無視した場合Yesで処理されるので注意 Application.DisplayAlerts = False 選択しているセ…

特定のブックを開く(既に開いていたらActivateする)

VBA

Dim WB As WorkbookDim fl As Booleanfl = FalseFor Each WB In Workbooks If WB.Name = "ブック名" Then fl = TrueNext WBIf fl Then Workbooks("ブック名").ActivateElse Workbooks.Open ("ディレクトリ+ブック名")End IfNext

アクティブプリンター名を表示させる

VBA

VBAでアクティブのプリンター名(とポート名)を取得する。 Sub ShowCurrentPrinterName()MsgBox "現在使用しているプリンターは、" & _ Application.ActivePrinter _ & " です。", Title:="現在使用しているプリンターの表示"End Sub