Excelプログラマyonetch

yonetchは趣味でExcelのマクロを書いたりもします
作例などをご紹介します。

直線上に配置
[プロフィール][作例][リンク]

【プログラマyonetch】

●過去、8bitパソコンのBASICでゲームをつくったり、長じてインフラ系のSEをやっていた経歴あり。
●開発系の経験は一切ないが、昔とったキネヅカ、門前のコゾーなんとやら(^^)。
●現在、実家のショーバイを手伝いながら、事務のコンピュータ化を推進中。(趣味でやると楽しいねぇ〜^^)
●お問い合わせは掲示板よりお気軽にどうぞ。

【作例】

弥生元帳印刷 2019.11.06版
【開発の経緯】●帳簿をコンピュータ化するにあたって、選んだのが販売管理ソフトの『弥生販売』。ただ、元帳をプリントアウトするのに、専用の用紙はチト高いし、なによりページあたりの印刷伝票数が少なくて、枚数がかさむのが問題だった。●元々すべての項目(ケース入数だとか色だとか...)を使ってるワケでもないから、そういうところを省略して紙を減らしたいと思ったワケ。
【機能】●弥生販売の、得意先元帳・仕入先元帳のデータを読み込んで、整形する。
●こんなところが、弥生オリジナルの帳票とはちがってます。
  • 全体が白で、横罫線が入っているだけだと非常に見づらい
    ⇒ 横罫線をなくし、2行ごとの縞模様にした
  • 月ごとに改頁を入れない場合、月次計行が埋没して見づらい
    ⇒ 横罫線を入れた
  • 伝票の区切りがわかりづらい
    ⇒ 「適用」「納品先」「メモ」明細のフォントを替えられるようにした
  • なぜ単位が数量の前なんだ?!
    ⇒ 単位の位置をどちらでも選択可能にした
●用紙のムダ削減について、さらなる提案!新機能、「最終頁下詰め」を使えば効果的(?)
今バージョンにて実装した「最終頁下詰め」は、その名のとおり最後のページの余白部分を、下ではなく上に持ってくる機能です。これにより、上に数行だけ印刷した余白たっぷりの紙を再利用できます(セコぉ〜^^;)。
●新元号令和に対応しました。
補足:弥生販売19、20について、動作確認しています。
【開発記】詳細はこちら
BruteForce入金消込 Ver. 1.45.02
開発の経緯】なんたって、事務・経理担当だから(^^)。前任者から引き継いだとき、そのえーかげんな帳簿にあきれたけども、この入金消込に関しちゃチト同情の余地ありだった。なんたって、大量の請求書に対する入金日が決まっていない上に、内訳の説明もなくいくつもまとめて入金されるんだもの(しかも順番もバラバラ)。
【機能】ま、入金消込なんだケド(^^)。入金伝票に対する売上伝票の組合せを探してくれるよ。
【四方山話】●上記『弥生元帳印刷』から表をそのままコピペできるようにしたバージョンです。また、検索用メモリ量を変更できるようにしたので、環境によってはメモリを増やして検索可能データを増やせるかも...
【開発記】詳細はこちら
弥生販売小技集【未公開】
【開発の経緯】弥生販売の機能には、概ね満足しています。が、少々凝った運用をしていて、ニッチなところで自動化できればいいのに!と思うポイントがいくつかあります。そういうとき、自分で伝票データをCSVで作ってインポートすることで、ある程度解決できることを発見しました。ウチの事務所の事情によるものばかりであり、一般化が難しいので今のところ公開予定はありません(要望あります?^^;)。
取引伝票インポートマクロ
【開発の経緯】まずはコレです。わざざわマクロ化せずとも使えるんですけど、伝票のインポート以外は使わないのに、いちいち(台帳インポートでなく)伝票インポートを選択すること等が煩わしかったので、ファイル名入力直前までを自動化しました。以下のマクロで伝票データを作ったのち、このマクロで弥生販売を制御しインポートします
【機能】弥生販売を制御し、伝票データのインポート手順を簡略化するとともに、オプションで以下の整形を行う
  • 明細番号を整列する(複数伝票の混在をサポート)
    →明細位置の入れ替え、伝票番号の変更を施してもインポート可能なように整形する
  • 単価、数量の変更に対して、合計額を再計算する
  • 倉庫コード欄をクリアする
  • 消費税率を8%にする
売上→見積伝票変換マクロ
【開発の経緯】過去に(見積伝票を経ず)売上伝票化した取引について、「同じものが欲しいんだけどまずは見積を」なんて依頼されることが結構あるんですが、売上伝票を見積伝票に複写する機能がありません。それを解消すべくこのマクロを作りました。
【機能】売上伝票データを見積伝票データに変換する
受注伝票金額一括変換マクロ
【開発の経緯】特定の伝票を元に、金額だけ一定比率で変えた伝票を作成するという作業が結構な頻度で発生します。何のためにそんなことをするかというと... 相見積を... ゲフンゲフン。後は察してください(^^;
【機能】受注伝票データを読み込み、一定の変換率で金額を変更する。変換率は2種類設定可能。同時に2つの受注伝票を作成する
【開発記】やってること自体はそんなに難しいことではないんですが、一点大困りしたのが、受注伝票には納入先コードが入っていること。そしてウチの設定では納入先コードは0詰4桁の数字で、これをエクセルでCSV読み込みすると、0のない数字に勝手に変換されてしまうのです。そしてソレをインポートすると「そんなコードはない」というエラーに... 今のところ機械的に4桁化することで凌げてはいますが、困ったモンです。
'17/4/13追記: 消費税率改正延期対策として、伝票の税率設定を8%とする機能を追加しました
発注リストまとめマクロ
【開発の経緯】仕入先に細かな発注をいくつも行い、ある程度溜まったところでまとめて発送してもらうことがよくあります。その際、仕入先から来る納品書と、こちらで作った発注書の内容は当然食い違ってきます。すると、仕入入力が発注伝票の複写では済まなくなり煩雑に感じました。
【機能】「仕入在庫レポート」の「発注明細表」としてエクスポートしたデータを、単一の発注伝票に変換する。全ての発注伝票をひとつにすることで、仕入先の納品書に合わせて仕入伝票化することが、多少は楽に。
発注リスト→仕入伝票変換マクロ
【開発の経緯】H29/4月予定だった消費税率変更の延期に非対応である弥生15を使い続けるにあたり、上記の発注リスト取り込みでは実質対応不能となりました。そこで、発注リストを直接仕入伝票化(当然税率は8%固定)するマクロを開発しました。
【機能】「仕入在庫レポート」の「発注明細表」としてエクスポートしたデータを、仕入伝票データに変換する。日付および伝票番号は、複数混在可。
【補足】このマクロは飽くまで形式変換しかやらないので、処理前に手動で仕入伝票にしたい内容で明細の並び替え及び日付、伝票番号の割り振りをする必要がある。
IBデータ入金票変換マクロ
【開発の経緯】入金の確認は、インターネットバンキングを通じて事務所で居ながらにできます。これはいいのですが、既に電子データであるにも関わらず、弥生へは手打ちで入力しなおす必要があるのが何ともムダです...
【機能】北陸銀行、高岡信金の通帳データCSVファイルを読み込み、入金伝票データに変換する
ラベル印刷 【未公開】
【開発の経緯】●得意先/仕入先元帳のインデックス用ラベルを、ヒサゴの「A4タックシール36面」なる商品を使って作っていた。ヒサゴのサイトにWord用のテンプレートはあったが、Wordじゃあ折角すでにあるデータが有効活用できず、不便。●3年目となった今年、一念発起して弥生の得意先/仕入先台帳データを取り込んでラベル印刷するためのシートを開発した。
【機能】●弥生販売の台帳データを使用して、ラベル印刷を行う。
【四方山話】●位置合わせに結構時間をくった。ようやく完成!と思って1枚印刷したところで肝心のタックシールがなくなった。あわてて近くの文房具屋に走ったがどこにも置いておらず、仕方ナシにコクヨの製品を買うハメに... ●また位置合わせか!と思ったら、コクヨのサイトからかなり高性能のラベル印刷ソフトがフリーで手に入ることが判明... 本シートは無用の長物となりそうな雰囲気である...(^^;;;
追記:コクヨの44面ラベルはヒサゴの36面とホトンド同じサイズだった(上下に1行ずつ増えただけ)。新しいソフトは高機能だがイマイチ痒いところに手が届かないというカンジだったので、結局自作シートで対応している。
IRKit制御器 【未公開】
【開発の経緯】●大型テレビでBD映像を見ながらPCでテキスト入力するにあたり、PCのキーボードから手を離してプレーヤーのリモコンを持つなどするのが果てしなくメンドウだった。PCからこの種のAV機器を操作できたら... という願望を満たすため、元々所持していたIRKitをPCから操作することを考えるに至った次第。
【機能】●IRKitで読み取ったリモコンコードをエクセルシート上にコピーしておき、そのコードを所定のIRKitから発信する●コトの経緯上、入力はホットキーのみで、マウスオペレーションは一切対応しない。
【四方山話】●あまり贅沢を言わなければソコソコ使えるものにはなった。構成としては、Windows版のcURLをインストールしExcelVBAのshell関数から呼ぶだけ。意外と簡単に実現できて重畳至極。●ただ一つハマったのは、リモコンコードのテキストにあ るダブルクォーテーションを、shell関数に対しては\でエスケープしなければいけないこと(例:\"format\")。通常VBAでは二重にして (例:""format"")エスケープするため、不具合原因に気づくのに半日かかってしまった(>_<)。最終的には両方適用しなければな らないワケ(例:\""format\"")。
備考: リモコンコードの読み取り方法等は、以前の記事「IoTがやってきた」を参照
お蔵入りの品々
こんなのも作ってたねぇ...

【Link】