気軽に楽しくプログラムと遊ぶ

自分が興味があってためになるかもって思う情報を提供しています。

Excel

Excelファイルの差分チェックをする方法

WinMergeをというフリーの差分チェックファイルを用いるとエクセルファイルも差分チェックが可能。 Winmergeのインストール 下記よりインストーラをダウンロード&インストール WinMerge 日本語版 xdocdiff WinMerge Pluginをインストール Excelファイルの差…

VBAマクロの高速化する方法

高速化するための実装方法 画面更新やセルの計算などの時間のかかる処理を抑止することで数倍~、高速化が図れる 'Escキーで処理停止、画面更新、イベント通知、セル自動計算を抑制 With Application .EnableCancelKey = xlDisabled .ScreenUpdating = False…

Excel VBA オートフィルタを解除、復帰させる方法(3つ以上条件へ対応 Excel 2007以降で動作)

オートフィルタを解除し、なんらかの編集作業を行った後に、前のオートフィルタの状態に復帰させる方法を下記に記載します。 いろいろ調べたのですが、3つ以上の条件を設定した場合に対応したものがなかったので考えてみました。 オートフィルタの保存と復…

Excel VBA バリアント型(Variant)

概要 文字列、数値、日付・ブール値など、様々なデータを格納することができる型。 データの値を表す部分とデータの型を表す部分(内部処理形式)を保持している。 宣言方法 Dim 変数名 As Variant Dim 変数名 型指定の省略時はバリアント型(Variant)が指定さ…

Excel VBA開発に役に立つTips

VBA開発において役に立つ情報を備忘録として追記していきます。 個人用マクロブックの作成方法と使い方 http://allabout.co.jp/gm/gc/297809/2/ 個人マクロブックが開けない Excelバージョン:2013 以下エラーが発生する場合、 「起動フォルダーにある個人用…

VBA 配列をセル範囲に設定、セル範囲を配列に設定する方法

セル範囲を配列に設定。MyArray(1 To 100, 1 To 2)の配列となる Dim MyArray MyArray = Range("A1:B100") 配列をセル範囲に設定 Dim MyArray Range("A1:B100") = MyArray

Excel 指定エリアの値削除を行う

指定ワークシートのRow_Del行の1〜5のエリアの値のみをクリアする With Range_Del.Worksheet .Range(.Cells(Row_Del, 1), .Cells(Row_Del, 5)).ClearContents End With オートフィルタがかかっている場合は以下で外してから、 クリアすると非表示領域の値な…

Excel VBAのLBound、UBound関数

Dim Var(3 To 5, -2 To 1) As Integer '第2引数を省略すると1次元の値を表示します。 Debug.Print "1次元 添字下限:" & LBound(Var) Debug.Print "1次元 添字上限:" & UBound(Var) '2次元 Debug.Print "2次元 添字下限:" & LBound(Var, 2) Debug.Print "2…

VBA On Errorステートメント

エラーが発生するとエラーの発生した次の行から処理を続行 On Error Resume Next Dim buf As String On Error Resume Next buf = Dir("A:\Dummy.dat") If buf = "" Then MsgBox "ファイルがありません" '表示されます Else MsgBox "ファイルが存在します" En…

Excel関数でファイル名拡張子なしを取得する

=REPLACE(LEFT(CELL("filename",$A$1),FIND(".x",CELL("filename",$A$1))-1),1,FIND("[",CELL("filename",$A$1)),) ファイル名に"."が含まれる場合、上記".x"のように拡張子の一部を含める上手く動作する

Excel関数で検索対象文字列が最後に出現する以降の文字列を抽出する

文字列:テストフォーム1.0 検索文字列:_ 上記の場合に最後の検索文字列以降の1.0の文字列を取得する場合は以下 B5に文字列が存在。 RIGHT(B5,LEN(B5)-FIND(CHAR(13),SUBSTITUTE(B5,"_",CHAR(13),LEN(B5)-LEN(SUBSTITUTE(B5,"_",""))))) 最後の検索文字列以…

よく使うExcel関数

用途 書式フォーマット 書き方例 特定文字列のセルを数える COUNTIF(範囲,"文字列") COUNTIF(B1:B5,"○") 複数カラムの結合 CONCATENATE(カラム1, カラム2) CONCATENATE("`",P9,"` ",AU9) 要素比較(同値ならばtrue返却) EXACT(値1, 値2) EXACT(BA9,"")