Excelファイルから「名前の定義」を削除するマクロ
「名前の定義」を削除するマクロ [Excelから名前の定義を削除するマクロ]多くの人が気が付いてないのですが、Excelファイルが無駄で役に立たない情報を溜め込んでいる場合があります。その一つに、「名前の定義」があります。●確認方法は1)ファイルを開ける2)挿入 → 名前 →...
View Articleファイルopenを楽にする
参照したいExcelファイルが開いてなければ前回置いてあったフォルダーに行く参照したいファイル名(*.xls)を開くと、このファイル名がThisWorkbook.Sheets("初期値").Cells(2, 2)に書き込まれます。またフォルダー名がThisWorkbook.Sheets("初期値").Cells(3,...
View Articleすべてのブックを非表示から表示に変更する
開いているブックのシートをすべて表示させる 用途:VBAがシートを非表示にしたため不要なシートを削除できないことがあります。そこですべてのシートを表示させたい。 Dim sh As Object Dim wb As Object For Each wb In Workbooks For Each sh In wbook.Sheets sh.Visible = True Next Next
View Articleソートしてから重複行を削除
ソートして、ついでに重複行を削除 用途:ソートと同時に重複行を削除したい場面がときどきあります。このときに使うVBAです。 下記コードの説明: データがA、B列に記入されています。2列だけです。 まずこれらA、B列でソートします。 A列が優先されます。 次に、重複した行を削除した状態で、C、D列にペーストします。 AdvancedFilter Unique:=True...
View Articleセル内の改行コードを削除
セル内の改行コードを削除Excelでは改行コードが2種類混在している。だから下記のコードのように2行ともに実行する必要がある。 使う場面: セルに記入されている文字列を取得する。このときセル内で改行されていると改行コードが混じってしまう。そこでこの改行コードを削除したい。 .Cells(tempRow, tempCol) = Replace(.Cells(tempRow, tempCol),...
View Article日時をシリアルから文字列に変換
日時をシリアルから文字列に変換使う場面:Excelで使用される日時は、実態は実数でありシリアルと呼ばれている。MS Office内 でコピーするなら余分なことを考える必要は無い。ところが違うアプリにコピーする場合は一度文字列に変換するのが汎用的な方法である。 strNengappi = Year(.Cells(2,2) & "/" & Month(.Cells(2,2))...
View Articleサブフォルダ名をリストアップする
指定するフォルダのサブフォルダ名をすべてリストアップする用途: 指定したフォルダーとサブフォルダーを含めて特定のファイルを探す 下記コードは、サブフォルダー、さらにこのサブフォルダー、さらに・・・と何層でもどんどん深いサブフォルダーを自動的に探します。 Sub sFolderSearch(ByVal strSFName0 As String, ByVal ShN As String) Dim...
View Article周期的に実行するタイマー
周期的に実行するタイマー動作:周期的にマクロ Keisan を動作させます。 .Cells(2, 2)に60以上の整数を記入すると次回の実行を中止(Exit Sub)する 使い方:.Cells(2, 2)にminuteを表す整数を入れておく。 下記コードをプロシジャー(マクロ) Keisan に記入する。 使う場面:...
View Articleグラフにデータラベルを付ける
グラフにデータラベルを付ける手動でグラフを描画し、このプロットごとにラベルを付けようとすると苦労します。ところがVBAを利用するとプロット一つづつに任意の文字列を自由にラベルに付けられます。ラベルを表示する位置も指定できます。 下記はこのコード例です。 With ActiveChart.SeriesCollection(1).Points For i = 2 To...
View Article互換性のあるグラフの描き方
グラフを描くVBAは互換性が低く、悪いです。このため複雑なコーディングをすると、自分のPCでは何ら問題なくグラフを描いてくれるのに、別のPCでは動かないことがあります。けっこうあります。症状はいろいろです。例えば、真っ白な枠だけしか描かれない場合や、グラフの折れ線を中途半端にしか描かない場合などがあります。 そこで参考となる情報をまとめました。...
View Articleファイルopenを楽にする
参照したいExcelファイルが開いてなければ前回置いてあったフォルダーに行く参照したいファイル名(*.xls)を開くと、このファイル名がThisWorkbook.Sheets("初期値").Cells(2, 2)に書き込まれます。またフォルダー名がThisWorkbook.Sheets("初期値").Cells(3,...
View Articleすべてのブックを非表示から表示に変更する
開いているブックのシートをすべて表示させる 用途:VBAがシートを非表示にしたため不要なシートを削除できないことがあります。そこですべてのシートを表示させたい。 Dim sh As Object Dim wb As Object For Each wb In Workbooks For Each sh In wbook.Sheets sh.Visible = True Next Next
View Articleソートしてから重複行を削除
ソートして、ついでに重複行を削除 用途:ソートと同時に重複行を削除したい場面がときどきあります。このときに使うVBAです。 下記コードの説明: データがA、B列に記入されています。2列だけです。 まずこれらA、B列でソートします。 A列が優先されます。 次に、重複した行を削除した状態で、C、D列にペーストします。 AdvancedFilter Unique:=True...
View Articleセル内の改行コードを削除
セル内の改行コードを削除Excelでは改行コードが2種類混在している。だから下記のコードのように2行ともに実行する必要がある。 使う場面: セルに記入されている文字列を取得する。このときセル内で改行されていると改行コードが混じってしまう。そこでこの改行コードを削除したい。 .Cells(tempRow, tempCol) = Replace(.Cells(tempRow, tempCol),...
View Article日時をシリアルから文字列に変換
日時をシリアルから文字列に変換使う場面:Excelで使用される日時は、実態は実数でありシリアルと呼ばれている。MS Office内 でコピーするなら余分なことを考える必要は無い。ところが違うアプリにコピーする場合は一度文字列に変換するのが汎用的な方法である。 strNengappi = Year(.Cells(2,2) & "/" & Month(.Cells(2,2))...
View Articleサブフォルダ名をリストアップする
指定するフォルダのサブフォルダ名をすべてリストアップする用途: 指定したフォルダーとサブフォルダーを含めて特定のファイルを探す 下記コードは、サブフォルダー、さらにこのサブフォルダー、さらに・・・と何層でもどんどん深いサブフォルダーを自動的に探します。 Sub sFolderSearch(ByVal strSFName0 As String, ByVal ShN As String) Dim...
View Article周期的に実行するタイマー
周期的に実行するタイマー動作:周期的にマクロ Keisan を動作させます。 .Cells(2, 2)に60以上の整数を記入すると次回の実行を中止(Exit Sub)する 使い方:.Cells(2, 2)にminuteを表す整数を入れておく。 下記コードをプロシジャー(マクロ) Keisan に記入する。 使う場面:...
View Articleグラフにデータラベルを付ける
グラフにデータラベルを付ける手動でグラフを描画し、このプロットごとにラベルを付けようとすると苦労します。ところがVBAを利用するとプロット一つづつに任意の文字列を自由にラベルに付けられます。ラベルを表示する位置も指定できます。 下記はこのコード例です。 With ActiveChart.SeriesCollection(1).Points For i = 2 To...
View Article互換性のあるグラフの描き方
グラフを描くVBAは互換性が低く、悪いです。このため複雑なコーディングをすると、自分のPCでは何ら問題なくグラフを描いてくれるのに、別のPCでは動かないことがあります。けっこうあります。症状はいろいろです。例えば、真っ白な枠だけしか描かれない場合や、グラフの折れ線を中途半端にしか描かない場合などがあります。 そこで参考となる情報をまとめました。...
View ArticleExcel VBAのセキュリティー
Excel VBAのセキュリティーを上げる方法を3つ書く1. パスワードを付けるVB editor で標準モジュールを右クリック注意: password を見破る手順をネットで検索できる。 だから、プロやマニアに見破られることを覚悟しておこう。 2. VBAを使用できる期限を設定する。 期限を越えるとVBAが動かない。次のコードを、プロシジャの最初のほうに埋め込んでおけばいい。Const...
View Article