「Excel VBA」の版間の差分
ナビゲーションに移動
検索に移動
(→Tips) |
|||
155行目: | 155行目: | ||
====マクロサンプル==== | ====マクロサンプル==== | ||
+ | =====[[Microsoft Project から Excelに吐き出したタスクの見栄えをちょっと整えるマクロ]]===== | ||
*[[Microsoft Project から Excelに吐き出したタスクの見栄えをちょっと整えるマクロ]] | *[[Microsoft Project から Excelに吐き出したタスクの見栄えをちょっと整えるマクロ]] | ||
+ | =====[[Perl VBのプロパティプロシージャを生成]] ===== | ||
*[[Perl VBのプロパティプロシージャを生成]] | *[[Perl VBのプロパティプロシージャを生成]] | ||
+ | =====[[Excel VBA 最初の空白でないセルを返す]]===== | ||
*[[Excel VBA 最初の空白でないセルを返す]] | *[[Excel VBA 最初の空白でないセルを返す]] | ||
+ | =====[[Excel VBA ワークシートをHTMLテーブル]]===== | ||
*[[Excel VBA ワークシートをHTMLテーブル]] | *[[Excel VBA ワークシートをHTMLテーブル]] | ||
2022年3月5日 (土) 02:00時点における最新版
目次
- 1 Excel VBA
- 1.1 Tips
- 1.1.1 Excel操作
- 1.1.1.1 Excel関数をVBAから使用する
- 1.1.1.2 可変長引数
- 1.1.1.3 セルからテキストを取得
- 1.1.1.4 最終更新日を取得
- 1.1.1.5 シートを設定ファイルとして利用する
- 1.1.1.6 ユーザフォームを閉じさせない
- 1.1.1.7 確認のダイアログを表示させない
- 1.1.1.8 最後のセルを取得
- 1.1.1.9 オートフィルタをシート間で同期
- 1.1.1.10 オートフィルタをで行が隠れているか判定
- 1.1.1.11 シート名を指定してハイパーリンクを作成
- 1.1.1.12 すべてのシートに対して一括置換
- 1.1.1.13 処理中一時的に自動計算をとめる
- 1.1.1.14 選択された範囲を処理==
- 1.1.2 文字列操作
- 1.1.3 数値操作
- 1.1.4 ステートメント
- 1.1.5 ファイル操作
- 1.1.6 オブジェクト操作
- 1.1.7 マクロサンプル
- 1.1.1 Excel操作
- 1.1 Tips
- 2 ライブラリ
Excel VBA
Tips
Excel操作
Excel関数をVBAから使用する
- ワークシート関数をVBAで使用する(WorksheetFunctionプロパティ)
可変長引数
Public Sub Hoge(ParamArray foo() as Variant) End Sub
セルからテキストを取得
最終更新日を取得
シートを設定ファイルとして利用する
ユーザフォームを閉じさせない
確認のダイアログを表示させない
最後のセルを取得
オートフィルタをシート間で同期
オートフィルタをで行が隠れているか判定
シート名を指定してハイパーリンクを作成
すべてのシートに対して一括置換
処理中一時的に自動計算をとめる
選択された範囲を処理==
If TypeName(Selection) = "Range" Then For Each c In Selection.Cells Debug.Print c.Value Next End If
文字列操作
数値操作
ステートメント
ファイル操作
ディレクトリの存在チェック
If Dir(pathName, vbDirectory) = "" Then : End If
オブジェクト操作
起動メニューアイコンを表示
Private Const MY_APP_FILE_MK As String = "ツールバー名" 'ツールバー名 Private Const BTN_MY_APP_FILE_MK As String = "ボタン名" 'ボタン名 ' 'ToolBarをセット ' Private Sub loadToolBar() Dim cbrGatherImgs As CommandBar Dim btnGetImages As CommandBarButton On Error Resume Next ' コマンド バーが既に存在するかどうかを確認します。 ' Set cbrGatherImgs = CommandBars(MY_APP_FILE_MK) ' コマンド バーが存在しない場合は作成します。 If cbrGatherImgs Is Nothing Then Err.clear Set cbrGatherImgs = CommandBars.add(MY_APP_FILE_MK) ' コマンド バーを表示します。 cbrGatherImgs.Visible = True ' ボタン コントロールを追加します。 Set btnGetImages = cbrGatherImgs.Controls.add With btnGetImages .Style = msoButtonIconAndCaption .Caption = BTN_MY_APP_FILE_MK .Tag = BTN_MY_APP_FILE_MK ' ボタンがクリックされたときに実行するプロシージャを指定します。 .OnAction = "mayAppMain" .FaceId = 270& End With Else ' 既存のコマンド バーを表示します。 cbrGatherImgs.Visible = True End If End Sub ' 'ToolBarを削除 ' Private Sub unloadToolBar() 'On Error Resume Next On Error GoTo errHandler ' 存在するコマンド バーを削除します。 CommandBars(MY_APP_FILE_MK).Delete Exit Sub errHandler: 'NOP End Sub ' 'ファイルを開いたときに実行 ' Public Sub Auto_Open() Call loadToolBar End Sub ' 'ファイルを閉じたときに実行 ' Public Sub Auto_Close() Call unloadToolBar End Sub
マクロサンプル
Microsoft Project から Excelに吐き出したタスクの見栄えをちょっと整えるマクロ
Perl VBのプロパティプロシージャを生成
Excel VBA 最初の空白でないセルを返す
Excel VBA ワークシートをHTMLテーブル
ライブラリ
Web API (JSON)の取得
- 以下の組み合わせで、Windowsに依存せず(Macでも)利用できる
VBA-JSON
VBA-WEB
VBA-DICTIONARY
Sub JsonTest() Dim url As String Dim wbClient As New WebClient url = "https://xxxxxxxxxx" Dim Response As WebResponse Set Response = wbClient.GetJson(url) Dim jsonText As String jsonText = Response.Content Debug.Print jsonText Dim Json As Object Set Json = JsonConverter.ParseJson(jsonText) Debug.Print JsonConverter.ConvertToJson(Json) Debug.Print JsonConverter.ConvertToJson(Json, Whitespace:=2) Debug.Print Json("_fieldsProto")("imageURL")("stringValue") End Sub
部品
その他
- {{ref レコード末尾にCRLF挿入v10.xls}}
- テンプレート:Ref recsplt.exe VC++版 ↑遅すぎ
- Excel VBA プロパティのコードを生成する
- ファンクションポイント 簡易マクロ
- Visio ER図の情報を取得する
- テーブル定義からJavaプロパティ名称作成
© 2006 矢木浩人