vba(エクセルマクロ)

タイムスタンプをフォーマット整形する

サンプル Format(Date, "ggge年m月d日(aaaa)") & Hour(Time) & "時" & Minute(Time) & "分" & Second(Time) 書式 / 日付の区切り記号を表示 c 既存の書式名[General Date/日付(標準)]と同じ d 1〜31で日付を表示 dd 01〜31で日付を表示 ddd 曜日を省略形(…

CSVファイルを読み込んでセルに2次元展開して配置する

vbっていつも変態ループになってしまうんだが、これでちゃんと回るんだからがしょうがない。 Function read_etc(category As String) Dim FileNamePath,CURRENT_PATH,ETC_PATH,FILE_NAME As String Dim textline, csvline() As String Dim Rowcnt, ColumNum …

シート上に配置したコンボボックスの値を参照する

このようにシートに配置してあるコンボボックスの今選択されている文字列を取得します。 Function getCategory() As String getCategory = Worksheets("SheetName").ComboBox_Category.Value End Function

シートをソートする

Function sort_sheet(sheet_name As String, sort_col As String, desk_flg As Boolean) As Integer Dim sheet_name As String Dim row_count As Integer row_count = getRowCount() 'シートの行数を取得する↓参照 If desk_flg Then Sheets(sheet_name).Rang…

値が有効かどうかを判定する

Function isval(str As String) As Boolean Dim ret As Boolean Dim ret1, ret2 As Variant ret1 = InStr(1, str, "#VALUE!", vbBinaryCompare) ret2 = InStr(1, str, "#DIV/0!", vbBinaryCompare) If (ret1 <> 0 And IsNull(ret1) = False) Or (ret2 <> 0 A…

シートをCSVファイルとして保存する

Sub save_data() Dim fname As String fname = <filename> Dim row_count As Integer ' コピー、ブック追加、貼り付け、保存 Workbooks.Add Workbooks(1).Sheets("SheetName").Range(COL_DEKI & SHEET_OFFSET & ":" & COL_DEKI & row_count).Copy ActiveSheet.Range(CO</filename>…

縦方向のセル内容を配列に格納する

Function getCellArray(COL As String) As Variant Dim ary(50) As Variant Dim ite As Integer For ite = 0 To Worksheets("SheetName").Cells(Rows.count, COL).End(xlUp).row ary(ite) = Worksheets("SheetName").Range(COL & ite + 1).Value Next ite ge…

楽天RSSコードを取得する、株価などのリアルタイム情報を表示する

Public Const COL_CODE As String = "A" Public Const COL_MARKET As String = "B" Public Const COL_CATEGORY As String = "C" Public Const COL_CATEGORY2 As String = "D" Public Const COL_ZENDEKI As String = "E" Public Const COL_MEDO_POS As String…

ゼロパディングする

Function padZero(n As Integer, keta As Integer) padZero = Right(n + 10 ^ keta, keta) End Function

URLエンコードする

Public Function UrlEncode(ByVal sText As String) As String If Len(sText) = 0 Then Exit Function With CreateObject("ScriptControl") .Language = "JScript" UrlEncode = .CodeObject.encodeURI(sText) End With End Function

シートを丸ごと画像として保存する

Sub printScreen() Dim WshShell As Object Set WshShell = CreateObject("WScript.Shell") WshShell.Run "C:\xxx\CapWrite.exe /C3 /W2 /A5", 1, True Set WshShell = Nothing End Sub CapWriteダウンロード http://wiki.livedoor.jp/kisstys/d/%B2%E8%CC%C…

シートの行数を取得する

4行目からはじまるエクセルシート"SheetName"の有効な行数を取得する。 ' シートオフセット開始行 Public Const SHEET_OFFSET As Integer = 4 ' 有効かどうかを判定する列 Public Const COL_CODE As String = "A" ' 呼び出しサンプル Private Sub CallSample…

エクセルを強制終了するマクロ

Function close() ' 終了前にやっておきたい処理があれば save_data ' 強制終了処理 Application.DisplayAlerts = False '保存しますか?アラートを出さない Application.Quit End Function

楽天RSSのデータを表示可能にするまで

楽天RSSはエクセル上で現在の株価、出来高、気配値などのデータをリアルタイムに表示するツールです。RSSといってもブログの更新情報のほうじゃなく、リアルタイムスプレットシートの略です紛らわしいです。数年前から楽天から提供されていますが、ぐ…

バッチファイル指定してFTPコマンドを実行する

すでに存在するファイルをFTPサーバーにアップするためのエクセルマクロです。 Function putFileByftp() ' 準備処理 Dim sCmd As String Set WshShell = CreateObject("WScript.Shell") ' ftpをバッチファイル指定して実行する sCmd = "ftp -s:C:\xxx\ftpcmd…

エクセルのマクロを定期的に自動実行する

エクセルファイルをタスクに登録する 1.新規タスクの作成 スタート > アクセサリ > システムツール > タスク 右クリック > 新規 > タスク 2.タスクの設定 タスクタブ > 実行するファイル名を指定する。 スケジュールタブ > クーロンの要領で設定…