指定したファイルやフォルダをzip化するマクロを作るのをやめた
2020年11月29日
前回作成したリンク先を修正するマクロをベースにして、
指定したファイルやフォルダをzip化するマクロを作りたい!!
画面レイアウトは、前回のまんまで、リンク先を置換するところを
zipファイルに圧縮するモジュールに変えればいいじゃん。
調べると、zip化は①PowerShellを使うか②外部ライブラリを使うからしい。
VBAでZIP圧縮と解凍を行う | Excel作業をVBAで効率化 (vbabeginner.net)
パスワードが使えないのと2Gまでと制約があるけど、
VBAと親和性の高いPowerShellを使うことに。
指定したファイルやフォルダをzip化するマクロを作りたい!!
画面レイアウトは、前回のまんまで、リンク先を置換するところを
zipファイルに圧縮するモジュールに変えればいいじゃん。
調べると、zip化は①PowerShellを使うか②外部ライブラリを使うからしい。
VBAでZIP圧縮と解凍を行う | Excel作業をVBAで効率化 (vbabeginner.net)
パスワードが使えないのと2Gまでと制約があるけど、
VBAと親和性の高いPowerShellを使うことに。
PR
エクセルのPDF化について
2020年11月24日
スマホから初更新
今日はエクセルのPDF化について
エクセルをPDFにする方法はいくつかあるけど、どれも処理が遅くてイマイチって理由でPDFに変換するマクロを作って運用してました。
が、ファイルの種類をPDF指定で保存するやり方を見てびっくり!
こっちのがマクロ選ぶより早いじゃん。
今日はエクセルのPDF化について
エクセルをPDFにする方法はいくつかあるけど、どれも処理が遅くてイマイチって理由でPDFに変換するマクロを作って運用してました。
が、ファイルの種類をPDF指定で保存するやり方を見てびっくり!
こっちのがマクロ選ぶより早いじゃん。
セルの左側にナンバーを付ける~番号崩れが起きないようにする方法~
2020年09月24日
エクセルの左側の列は、№列として番号を振ることが結構あると思います。
で、問題になるのがその番号の振り方。
offsetを使うのが個人的に最強と思い投稿。
ナンバリングで、最初にやるのが、これ。
A1=1、A2=A1+1、・・・行の挿入、削除があると参照が崩れて痛い目を見る。並べ替えもできない。
次にやるのがこれ。
A1=Row()、A2=Row()
表の挿入削除に強いが、タイトル位置をずらすと2から始まってる!?ってなる。
個人的最強はこれ。
で、問題になるのがその番号の振り方。
offsetを使うのが個人的に最強と思い投稿。
ナンバリングで、最初にやるのが、これ。
A1=1、A2=A1+1、・・・行の挿入、削除があると参照が崩れて痛い目を見る。並べ替えもできない。
次にやるのがこれ。
A1=Row()、A2=Row()
表の挿入削除に強いが、タイトル位置をずらすと2から始まってる!?ってなる。
個人的最強はこれ。
エクセルで行の高さを1行分バッファをもって自動調整する
2020年09月24日
前回の記事では、エクセルの見切れ対策を話題にしましたが、
そもそも自動調整するマクロを書いた人がいるんじゃないかと思い、
検索。やっぱりいた!
http://moritahyoukeisan.com/excel48/pagev10/pagev10.htm
行の高さを自動調整+15ポイント(1行分)に設定する。
個人的な使い勝手を考慮して修正を加えました。
単にInputBoxを使わずに、Application.InputBoxを使うと
文字種制限をかけられるのは参考になった。
選択行だけやるか、シート全体をやるかは悩ましいところ。。。
以下ソース。
そもそも自動調整するマクロを書いた人がいるんじゃないかと思い、
検索。やっぱりいた!
http://moritahyoukeisan.com/excel48/pagev10/pagev10.htm
行の高さを自動調整+15ポイント(1行分)に設定する。
個人的な使い勝手を考慮して修正を加えました。
単にInputBoxを使わずに、Application.InputBoxを使うと
文字種制限をかけられるのは参考になった。
選択行だけやるか、シート全体をやるかは悩ましいところ。。。
以下ソース。
条件付最大値
2020年03月21日
エクセルを使っていて条件付の最大値を計算したいことが何度かあった。
が、ピボットを使っても、SumifsやSumproduct関数を使ってもうまくいかず。
悶々としてましたが、今日、やり方を思いついたので備忘。
内容に入る前に、ネットで調べた。
「配列式を使う」なんてのを発見。
=MAX(IF(C3:C14="みかん",D3:D14)) と入力し、Shift+Ctrl+Enter で数式を確定します。
出展
http://www.eurus.dti.ne.jp/~yoneyama/Excel/waza/max.html
うまく計算できて、喜んだのもつかの間、
複数範囲まとめて計算できないのね。。。
で、思いついた方法は以下の手順。
1.元データが消えないようにシートをコピー
2.オートフィルタで最大値をとりたい列を降順に並べる
3.重複データの削除で、条件を指定するセルのみを指定
拍子抜けするくらい簡単にできた。
複数条件も、重複削除条件で指定するだけだから、簡単にできそう。
が、ピボットを使っても、SumifsやSumproduct関数を使ってもうまくいかず。
悶々としてましたが、今日、やり方を思いついたので備忘。
内容に入る前に、ネットで調べた。
「配列式を使う」なんてのを発見。
=MAX(IF(C3:C14="みかん",D3:D14)) と入力し、Shift+Ctrl+Enter で数式を確定します。
出展
http://www.eurus.dti.ne.jp/~yoneyama/Excel/waza/max.html
うまく計算できて、喜んだのもつかの間、
複数範囲まとめて計算できないのね。。。
で、思いついた方法は以下の手順。
1.元データが消えないようにシートをコピー
2.オートフィルタで最大値をとりたい列を降順に並べる
3.重複データの削除で、条件を指定するセルのみを指定
拍子抜けするくらい簡単にできた。
複数条件も、重複削除条件で指定するだけだから、簡単にできそう。