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

整数部・小数部の分離応用:整数は下2桁、小数は上3桁で表示する

<分類:値抜き取り> <使用例:123.4567という小数点を含む値を整数部下2桁(23)と小数部上3桁(456)に分ける> <プログラム例> Sub 使用例() Dim s As String Dim rtn1 As String Dim rtn2 As String '123.4567 s = "123.4567" Call 部品_小数分離(s, rtn…

時間大小判定応用:A列に日付、B列に時間、C列に値が設定されている履歴データの指定時間を超えた直後のC列の値を取得する

<分類:値取得> <使用例:指定時間(15:04:00)を超えた次の行のC列の値を取得する> <注意:サンプルデータを作成するプログラムになっていますので、Sheet1は何もデータがないシートをご用意ください> <プログラム例> A B C 1 2018/11/18 15:00:00 1…

比較元の日付と時間、比較先の日付と時間をセットして、時間が比較元より小さいか大きいかを判定する

<分類:判定> <使用例:比較元の日付(2018/11/10)と時間(23:59:59)、比較先の日付(2018/11/11)と時間(00:00:00)をセットして、時間が比較元より大きいので大と判定する> <例外:比較元の日付と時間、比較先に日付と時間が同じだった場合は、小にしてい…

小数点を含む値を整数部と小数部に分ける

<分類:値抜き取り> <使用例:123.456という小数点を含む値を整数部(123)と小数部(456)に分ける> <プログラム例> Sub 使用例() Dim s As String Dim rtn1 As String Dim rtn2 As String '123.456 s = "123.456" Call 部品_小数分離(s, rtn1, rtn2) Msg…

Excelファイルのあるフォルダに任意のフォルダと日付のフォルダを作成してワークブックの名前に日付_時間を付けてファイルコピー

<分類:ファイル作成> <使用例:Excelファイルのあるフォルダに任意backup¥日付フォルダを作成してワークブックの名前に日付_時間を付けてファイルコピーする> <プログラム例> Sub 使用例() Dim s As String Dim rtn As String '作成するフォルダ名 s…

Excelファイルのあるフォルダに任意のフォルダと日付フォルダを作成して日付_時間のテキストファイルを作成

<分類:ファイル作成> <使用例:Excelファイルのあるフォルダにbackup¥日付フォルダを作成してその中に日付_時間(yymmdd_hhnnss).txtのテキストファイルを作成> <プログラム例> Sub 使用例() Dim s As String Dim rtn As String '作成するフォルダ名 …

Excelファイルのあるフォルダにbackupというフォルダを作成してさらに日付・時間(YYYYMMDD_HHNNSS)のフォルダを作成する

<分類:フォルダ作成> <使用例:Excelファイルのあるフォルダにbackupというフォルダを作成して、さらに日付・時間(YYYYMMDD_HHNNSS)のフォルダを作成する> <プログラム例> Sub 使用例() Dim s As String Dim rtn As String '作成するフォルダ名 s = "…

Excelファイルのあるフォルダに任意のフォルダを作成する

<分類:フォルダ作成> <使用例:Excelファイルのあるフォルダにbackupというフォルダを作成する><プログラム例> Sub 使用例() Dim s As String '作成するフォルダ名 s = "backup" Call Excelファイルのあるフォルダに任意のフォルダを作成(s) MsgBox (…

新しいワークシートを追加してワークシートの名前を設定する。※同じワークシート名ダブリチェック機能付き

<分類:ワークシート操作> <使用例:ワークシートを追加して名前を設定する><プログラム例> Sub 使用例() Call 部品_ワークシート追加("新しいワークシート名") End Sub Sub 部品_ワークシート追加(p1) Dim ws_maxsu As Long Dim i As Long Dim flg As…

特定のワークシート以外を削除する。削除したくないワークシート名を指定(複数指定OK)して、それ以外のワークシートを全部削除する ※指定ワークシート名は大文字、小文字の区別あり

<分類:ワークシート操作> <使用例:特定のワークシート以外を削除する><プログラム例> Sub 使用例() Dim sname As Variant '下記に削除したくないワークシート名を指定 sname = Array("Sheet1", "Sheet2") Call 特定のワークシート以外を削除(sname) …

文字列から抽出したい文字の前と後の文字を探してFrom~Toの間の文字を抜き取るFromの検索文字は左からn番目(インデックス)対応 ※ダブルコーテーションの書き方は使用例を参照

<分類:値抜き取り> <使用例:文字列から特定の文字の抽出><プログラム例> Sub 使用例() Dim s As String Dim s2 As String Dim fr_moji As String Dim to_moji As String Dim fr_ix As Long Dim s0 As String '文字中のダブルコーテーションの書き方…

ファイルパス名からフォルダパス名を取出す

<分類:値抜き取り> <使用例:ファイルパス名からフォルダパス名を取出す><プログラム例> Sub 使用例() Dim s As String Dim s2 As String s = "C:\Users\aaa\Desktop\test.xls" s2 = 共通_ファイルパスからフォルダパス名取出し(s) MsgBox ("フォルダ…

ファイルパスから2階層上のフォルダ名を取出す(ファイルパスから下層フォルダを先頭に番号(インデックス)で取出し)

<分類:値取得> <使用例:ファイルパスから2階層上のフォルダ名を取出す><プログラム例> Sub 使用例() Dim s As String Dim s2 As String Dim n As String 'フルパス '例 1階層上のフォルダ名はDesktop '例 2階層上のフォルダ名はaaa '例 3階層上の…

ファイルパスから1階層上のフォルダ名を取出す(ファイルパスから下層フォルダを先頭に番号(インデックス)で取出し)

<分類:値取得> <使用例:ファイルパスから1階層上のフォルダ名を取出す><プログラム例> Sub 使用例() Dim s As String Dim s2 As String Dim n As String 'フルパス '例 1階層上のフォルダ名はDesktop '例 2階層上のフォルダ名はaaa '例 3階層上の…

ファイルパスから下層フォルダを先頭に番号(インデックス)で取出し

<分類:値取得> <使用例:ファイルパスから下層フォルダを先頭に番号(インデックス)で取出し> <プログラム例> Sub 使用例() Dim s As String Dim s2 As String Dim n As String 'フルパス '例 1階層上のフォルダ名はDesktop '例 2階層上のフォルダ名…

ファイルパスからフォルダの数を調べる

<分類:値取得> <使用例:ファイルパスからフォルダの数を調べる> <プログラム例> Sub 使用例() Dim s As String Dim s2 As String s = "C:\Users\aaa\Desktop\test.xls" s2 = 共通_フォルダ階層数(s) MsgBox ("フォルダ階層数は " & s2 & " です") En…

ファイルパス名からファイル名を取出し

<分類:値抜き取り> <使用例:ファイルパスからファイル名取出し> <プログラム例> Sub 使用例() Dim s As String Dim s2 As String s = "C:\Users\aaa\Desktop\test.xls" s2 = 共通_ファイルパスからファイル名取出し(s) MsgBox ("ファイル名は " & s2…

現在の時刻(文字列)を取得する

<分類:値取得> <使用例:現在の時刻(文字列)を取得する> <プログラム例> Sub 呼び出し() Dim s As String s = 共通_時刻取得() MsgBox ("現在の時刻は " & s & " です") End Sub Function 共通_時刻取得() 共通_時刻取得 = Format(TimeValue(Now), "H…

現在の日付(文字列)を取得する

<分類:値取得> <使用例:現在の日付(文字列)を取得する> <プログラム例> Sub 呼び出し() Dim s As String s = 共通_日付取得() MsgBox ("現在の日付は " & s & " です") End Sub Function 共通_日付取得() 共通_日付取得 = Format(DateValue(Now), "y…

セルのx(カラム番号) y(行番号)からレンジアドレスを取得する

<分類:値取得> <使用例:x座標 y座標からレンジアドレスを取得する> <プログラム例> Sub 呼び出し() Dim s As String Dim x As Long Dim y As Long x = 2 y = 3 s = 共通_conv_yxA(y, x) MsgBox ("X座標:" & x & " Y座標:" & y & "のレンジアドレスは…

Range座標文字をカラムindex値に変換する

<分類:値変換> <使用例:Rangeの座標文字列からカラムindex値に変換する> <プログラム例> Sub 呼び出し() Dim s As String Dim レンジ As String レンジ = "B4" s = 共通_conv_Rx(レンジ) MsgBox ("カラム(x座表)は" & s & "です") End Sub Function …

Range座標文字を行index値に変換する

<分類:値変換> <使用例:Rangeの座標文字列から行index値に変換する> <プログラム例> Sub 呼び出し() Dim s As String Dim レンジ As String レンジ = "B4" s = 共通_conv_Ry(レンジ ) MsgBox ("行(y座表)は" & s & "です") End Sub Function 共通_co…

Excelのバージョンを取得する

<分類:値取得> <使用例:Excelのバージョンを取得する(番号のみで出力されるので注意> <プログラム例> Sub 呼び出し() Dim s As String s = 共通_Excelバージョン取得 MsgBox ("Excelのバージョンは " & s & "です") End Sub Function 共通_Excelバー…

OS名を取得する

<分類:値取得> <使用例:OS名を取得する(NTのバージョン番号で出力されるので注意> <プログラム例> Sub 呼び出し() Dim s As String s = 共通_OS名取得 MsgBox ("OS名は " & s & "です") End Sub Function 共通_OS名取得() 共通_OS名取得 = App…

アクティブになっているシート名を取得する

<分類:値取得> <使用例:現在アクティブになっているシート名を取得する> <プログラム例> Sub アクティブになっているシート名を取得する() Dim s As String s = ActiveWorkbook.ActiveSheet.Name MsgBox ("現在アクティブになっているシートは " & s…

Excelブックのシート名の一覧作成

<分類:値取得> <使用例:Excelブックのシート名の一覧作成(出力シートに出力する)> <プログラム例> Sub このExcelブックのシート名の一覧作成() Dim シート名 As String Dim i As Long シート名 = "出力" For i = 1 To Worksheets.Count Worksheets(…

Excelブックのファイル名を調べる

<分類:値取得> <使用例:Excelブックのファイル名を調べる> <プログラム例> Sub このExcelブックのファイル名を調べる() Dim s As String s = ThisWorkbook.Name MsgBox ("このExcelブックのファイル名は" & s & "です") End Sub

Excelブックのフォルダ名(パス名)を調べる

<分類:値取得> <使用例:Excelブックのフォルダ名を調べる> <プログラム例> Sub このExcelブックのフォルダ名を調べる() Dim s As String 'ThisWorkbook.Pathは、ファイル名は含まれない s = ThisWorkbook.Path MsgBox ("このExcelブックのフォルダ名…

数字の日付を通常の日付に変換する

<分類:値変換> <使用例:数字の日付を通常の日付に変換する 20180728 → 2018/07/28> <プログラム例> Sub 使用例() Dim d As String Dim s As String d = "20180728" s = 共通_cov_date_9d(d) If s <> "" Then MsgBox (d & " を " & s & " に変換しま…

文字列の日付を数字の日付に変換する

<分類:値変換> <使用例:日付を数字の羅列に変換する 2018/07/28 → 20180728> <プログラム例> Sub 使用例() Dim d As String Dim s As String d = "2018/07/28" s = 共通_cov_date_d9(d) If s <> "" Then MsgBox (d & "を " & s & " に変換しました")…