絞り込み条件を変更する
検索条件を絞り込む
有料ブログの投稿方法はこちら

すべてのカテゴリ

250 件中 1 - 60 件表示
カバー画像

インボイス制度対応

こんにちは。23年8月現在、毎日酷暑かつゲリラ豪雨に見舞われたりしていますが、皆さまご安全でしょうか?さて、ココナラがインボイス制度対応とのことで、BUTTONCARNIVALの対応についてアナウンスさせていただきます。BUTTONCARNIVALは、個人事業で活動しておりますが「適格請求書発行事業者」として登録しております。ココナラシステムがインボイス対応しましたら、順次手続きいたしますので、インボイス制度対応が不安な方は、ご安心の上、お気軽にお問い合わせください。サービス項目が無い場合でも、ご相談内容によっては、お引き受け可能な場合があります。ぜひお困りごとございましたら、お声がけいただければと思います。引き続きBUTTONCARNIVALを宜しくお願いします♪
0
カバー画像

【Access】Accessを推す理由

Microsoft Accessはデータベース管理システム。難しいことはひとつもありません。「顧客データ」「売上データ」などをどんどん取り込んでいく。必要に応じて抽出し、利用する。言ってしまえばこれだけです。お仕事上の重要なデータを管理するならAccessが一番です。いえ、Excelで間に合っています。わざわざそういうのを導入しなくても問題ありませんので。Excelのよさは、なんといってもメジャーなところ。お仕事などで大抵使う。使い慣れている。わたしもPowerPointを使わずわざわざExcelで資料を作ったりしていました笑。使いやすい、というよりも、いつも使っているから、ですね。在庫管理、発注管理なども同じことだと思われます。セルに貼りつけて、別シートに関数で集計。問題なし。Excelで間に合っています。けっこう大きな企業様でもExcelのみでデータを管理されている場合が多く、そしてけっこう目が眩むような使い方をされていたりします。これ2万行あるのですが、同じ発注データを貼りつけたりしませんか?複雑な数式が入っているのですが、データの追加や移動などでよく狂ったりしませんか?列の最後に「オプション1」「オプション2」とつづいていますけど、「オプション100」が必要になった場合はどうするのですか?でもなんとかやれていますから。Excelで間に合っています。たしかになんとかやれますし、ヒューマンエラーなどと言いますが慣れていらっしゃる方はそうそうミスしません。なのでわたしの指摘は言いがかりに聞こえていたかもしれません。ココナラさんでもExcelのマクロを発注・購入される方が多いよ
0
カバー画像

VBA×○○○の魅力

VBAは主にOffice系(ExcelやPowerPoint)を自動化する言語であり、Office以外の自動化となると極端にできることが少なくなります。しかしそんなVBAでも別の何らかと連携させることでできることの幅が大きく広がります。ここではそんなVBAと連携させることで機能が拡張できる"別の何らか"をいくつかご紹介します。Windows APIWindows APIとは簡単にいえばWindowsに用意されている機能がまとまっているセットのようなもので、VBAからそれらを呼び出すことでWindowsに用意されている様々な機能を使用することができます。これら機能はほとんどの場合、VBAだけでは実現できないものばかりですVBAではWindowAPIを呼び出すための定型文、いわゆる"おまじない"をコード上に記載するだけすぐに呼び出すことが可能です。ウィンドウを操作(サイズ変更、透明化など)したり、クリップボードを操作したり、マウスやキーボードの制御、画像や図形の描画などのようなVBAでは実現できない非常に多くの操作を可能にしてくれます。ポインタやメモリといったC++言語寄りの考えが出てきたり、外部アプリケーションに影響を与える関数なども存在するためある程度の知識を付けておく必要があります。自作DLL (Dynamic Linking Library)WindowsAPIはWindowsに標準装備されているDLLファイル内にある関数を呼び出しているだけなのですが、DLLファイルは自作することも可能です。たとえば自作DLL内で画像処理が得意なOpenCVを使った顔認識の関数を作成すれば
0
カバー画像

ミニマクロ(1000円)第3弾

ミニマクロのご紹介です。 マクロで自動化したいけど、どのサービスも高くて手が出しにくい、、、 少しの楽をしたいけど、どれも5000円~というサービスがほとんど。 そんなあなたに1000円ミニマクロをご紹介。たくさんの文字と文字の間に空白行を1行づつ追加するマクロと、空白行を全て削除するマクロです。当ブログにて、このようなミニマクロを紹介しています。よければお気に入り登録よろしくお願いします。 私のサービスも見て頂ければ幸いです。
0
カバー画像

ミニマクロ(1000円)第2弾

ミニマクロのご紹介です。 マクロで自動化したいけど、どのサービスも高くて手が出しにくい、、、 少しの楽をしたいけど、どれも5000円~というサービスがほとんど。 そんなあなたに1000円ミニマクロをご紹介。ボタンを押すと新しいシートが追加され、シート名を自動で現在の日付に変更されるというマクロです。もちろん、日付だけではなく好きな単語に設定可能です。当ブログにて、このようなミニマクロを紹介しています。よければお気に入り登録よろしくお願いします。私のサービスも見て頂ければ幸いです。
0
カバー画像

ミニマクロ(1000円)

ミニマクロのご紹介です。マクロで自動化したいけど、どのサービスも高くて手が出しにくい、、、少しの楽をしたいけど、どれも5000円~というサービスがほとんど。そんなあなたに1000円ミニマクロをご紹介。表を追加し、ボタンを押すと罫線を引いてくれるマクロです。これからブログにてこのようなミニマクロをご紹介していこうと思っています。よければお気に入りよろしくお願いします。私のサービスも見て頂ければ幸いです。
0
カバー画像

tkinterモジュールのmessagebox

pythonのコードを書いている際に、条件分岐やコードそのものが長くなった場合、デバック(動作確認)が曖昧になることがありました。特に、変数に何が格納されているのか、条件通りにコードが動いているのかを確認に手間を感じていました。例えば、変数(a)の確認であれば、print(a)でターミナル画面に反映することができますが、コードの文字も多いため、見えにくさを感じます。そこでお薦めしたいのが、tkinterモジュールのmessageboxです。利用方法は、from tkinter import messageboxmessagebox.showinfo(タイトル,表示メッセージ)になります。タイトル、メッセージとも文字列になりますが、変数を記載することで、その変数に格納した内容を表示することも可能です。VBAでいうと、MsgBox のように活用することができます。
0
カバー画像

エクセルでデータを入力する際の高速化についての考察③ <音声入力>

こんにちは 盤屋の試験員です。 今回は前回の続きで細かい制御をするつもりだったんですけど、思い付きで音声入力をやってみたいと思います。最近、業務効率化で音声入力に挑戦してるんですが、Windowsの音声入力って精度悪いですね・・・仕方ないんで、難しい文章は諦めて認識しやすい文言で入力システムを作ることを目指してみました。~~ キーワードでデータベースを呼び出す。 ~~ まずは、顧客情報の入ったデータベースとなるCSVファイルを用意します。 ↓こんな感じで 一番左の”呼称”を呼び出すためのキーワードにしています。フルネームで呼ぶのは長いですしね。ニックネームとか簡単な方が良い場合もあるので融通の利くようにしてます。2列目以降のデータ(氏名や住所)が詳細データになります。キーワードを音声で拾えるようにVB.netで””ExcelVoice.exe”というアプリを作ってバックグラウンドに待機させておきます。 音声認識は、System.Speech.Recognition クラスを使えば実装できます。必要なくなったら終了できるように、システムトレイに常駐させて、右クリック→終了で終われるようにしておきます。 エクセルへの出力は"Microsoft Excel Object Library"で操作してもいいんですが色々と面倒くさいのでここでは単純にSendkeyステートメントを使います。マクロや"Object Library"を使ってしまうと"戻る”が効かないのですが、この方法なら"戻る"が使えるんですよね。あと、Webの入力フォームにも対応できるのも大きいです。ぶっちゃけキーボード入力
0
カバー画像

非表示モジュール内でコンパイルエラーが発生しました。

問題なく納品したお客様から「エラー」の連絡を頂きました。新しいPCで試したところファイルを開くと「非表示モジュール内でコンパイルエラーが発生しました。」のメッセージが出て動かないとの事。officeのバージョンを確認したところ、「2019の64ビット版」との事。調べてみると32ビット版から64ビット版に切り替えるとエラーが出る場合があるようです。今回は Declare ステートメントで発生しているようです。このステートメインはモジュール レベルで使用して、ダイナミック リンク ライブラリ (DLL) 内の外部プロシージャへの参照を宣言します。ここがどうも32ビット版と64ビット版で構文の違いがあるようでした。以前から幾つかの違いは認識していましたが、新旧バージョン間での互換だけ気をとられ64ビット版との互換を失念していました。興味のある方は「非表示モジュール内でコンパイルエラーが発生しました。」で検索すると、幾つかのサイトが出てきます。マイクロソフトのサイトが一番わかりやすいかもしれませんね。
0
カバー画像

エクセルでデータを入力する際の高速化についての考察② <予測変換>

こんにちは、盤屋の試験員です。 エクセルにデータ入力する際の高速化について②となります。 第2回はマクロによる特化型予測変換です。 エクセルにも予測変換はありますが、今回のものはデータ特化型でよりニッチな需要にこたえる目的のものです。 1.はじめに~~処理範囲の限定と分岐 マクロで予測変換する場合、この場所は数字、この場所は文字という具合にセルによって入力する規則が変わりますし、場所によっては予測変換はしたくないということもあり得るので、まずはその処置についてお話します。下記がシートの処理を場所によって分岐する場合のサンプルです。 A1:A10の範囲であれば処理①を,B1:B10であれば処理②を、それ以外は無視する場合のコードです。 このコードはワークシートのコ記述シートに記載して使います。(これはサンプルなんで動きません) ------------------------------------------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range)     If Not (Intersect(Target, Range("A1:A10")) Is Nothing) Then         '処理①     ElseIf Not (Intersect(Target, Range("B1:B10")) Is Nothing) Then         '処理②     End If End Sub -----------------------------
0
カバー画像

エクセルでデータを入力する際の高速化についての考察① <フォーカスの移動>

こんにちは、盤屋の試験員です。 今日はエクセルにデータ入力する際の高速化について考えます。 エクセルでデータを入力する際未だに手打ちが必要な部分って多いですよね。今回は、そんな入力を少しでも高速化するための小ネタマクロを紹介します。 第1回はマクロによるフォーカスの移動です。 フォーカスをマクロで動かすのは簡単ですが、問題はその順番と場所をどう指定するかです。マクロに順番を組み込みこともできますが、それでは汎用性に欠けるので、今回はセルに名前を付けて対応します。あまり知られてませんが、エクセルではセルに名前を付けられます。 セルを選択した際に場所”A1”などが表示されている部分は”名前ボックス”というらしく、ここでセルやセル範囲に命名できます。今回は、セル単体に”SEL_●●"(●=数字)という名前を付けています。 "SEL_"の4文字を選択候補の識別子として、後の数字の順番に選択していくようにコードを組み立てます。 下がサンプルコードになります。このコードを、モジュールに貼り付けてください。 ------------------------------------------------------------------------------Option Explicit Public Function GetRangeName(TergetCell As Object) As String '指定したセルの範囲名称を返します。 Dim Q As Object For Each Q In ActiveWorkbook.Names     If Not (Applicati
0
カバー画像

入力元ファイルからデータを抽出しデータベースへ反映させる

入力元ファイルには識別番号があり識別番号ごとにA売上とB売上が存在する。データベース上でA売上とB売上をそれぞれA売上シートとB売上シートに分けて月事に別けて数値を入力する。データベース上に識別番号が未登録の場合は識別番号を追加する。 ココナラブログ230204_01_A1入力元ファイルの識別番号とA売上、B売上を月ごとにデータベースへ反映する。 ココナラブログ230204_02_A1データベースとなるエクセルファイルA売上用のシート売上を識別番号ごと月事に別けている。A売上用のシート識別番号BB1の位置をB売上用のシートと変えてある。 ココナラブログ230204_02_A2B売上用のシート識別番号BB1の位置が異なるマクロを仕込んだエクセルで入力元データをデータベースへ反映しデータベースを上書き保存する。マクロで処理し保存した後のデータベースの様子 ココナラブログ230204_03_A1A売上シートへ識別番号を追加し売上を月ごとに分けている ココナラブログ230204_03_A2B売上シートへ識別番号を追加し売上を月ごとに分けている
0
カバー画像

倉庫でプログラミングって活かせるの?今から勉強するならマクロがお勧めの理由とその勉強法

倉庫の仕事でプログラミングのスキルを活かせる場面は 詳しくは下記の記事でご紹介致しますので、本記事ではリストアップに留めますが、具体例として以下の事例があります。事例①:Excelデータの修正  例)送り状作成のためにコピー元の全半角の変更、住所の分割・結合 事例②:グラフ作成  例)勤務時間、売上・費用・利益の推移等のグラフ化 事例③:フォルダ作成  例)入出荷データを保存するフォルダの作成、 事例④:メールの添付ファイルを自動保存  例)メール添付される出荷オーダーを決められたファイルに保存 事例⑤:フォルダ内の複数のExcelデータ、複数のシートのExcelデータを1つにまとめる|Excelデータを客別・納品先別に分割  例)日別入出荷、出荷オーダーをひとまとめに|請求書(締日も変更可) 事例⑥:フォーマットの決まった書類・メール作成  例)納品書等の帳票、運送会社・納品先別出荷データ、年末年始の挨拶事例⑦:ウェブ操作  例)入出庫処理の自動化、値転記、自動データ取得 今からプログラミングを勉強するならマクロが良い理由3選 プログラミングを学ぼうとする方が、「プログラミング学習 初心者」、「プログラミング学習 言語」とググってもなかなか、マクロをお勧めしている記事は見当たりませんよね。 そんな状況を知りながらも「倉庫の業務を改善してラクになりたい」、「プログラミングは簡単と聞いていたけれど難しかったので挫折したことがある」というIT企業で働くことは目指していない初学者にはマクロをお勧めします。その理由は下記の3つです。理由①:マクロ以外の知識が不要だから 理由②:マクロの
0
カバー画像

エクセルのセルサイズについての考察①(mm単位での設定)

エクセルのセルの幅に対するプロパティはちょっとややこしくって ColumnWidth Width の2個あります。 尚、取得、設定できるのが Columnwidth 取得のみ可能なのが Width になります。 何が違うのかというと ColumnWidth は 数字の0(半角ゼロ)が何文字入るか?という値で 実際の大きさはシートのフォントサイズによって変動します。 ちなみに、Columnwidthには余白も含みますので ColumnWidth が1に対しColumnwidthが2は2倍より小さな値となります。 Widthってのは、ポイント単位。 ポイントって馴染みが薄い単位ですが 1/72インチ=約0.35mmってことになりますね。
0 500円
カバー画像

マクロの書き方標準モジュール内にSubプロシージャは複数書けるのか

0
カバー画像

なぜ標準モジュールにコードを書くのかVBEを使って説明します

0
カバー画像

VBAでコードを書こうマクロの記録をおすすめしない2つの理由

0
カバー画像

納品書作成改定

納品書作成を改定致しました。基本的な操作はかわりませんが、操作性の向上を致しました。まずは、再発行機能の追加。納品累積データのメンテナンスの為の削除機能を追加しました。〇再発行機能は伝票番号を選んでボタンを押すと印刷されます。 通常の発行との区別は伝票の左上に「再発行」の文字が印字されます。〇削除機能は上から順番に削除されます。長押しすると連続で削除されます。 もう一つは削除したい行を任意で削除できます。※現在の帳票は上部が「納品書」下部が「受領書」になっています。 いわゆる二枚綴り仕様です。 ご要望にそって名称や仕様の変更は出来ます。 デモ版もご用意しております。 お問い合わせ頂ければお送り致します。以上宜しくお願い致します。
0
カバー画像

エクセルの便利機能マクロの記録を使ってマクロを2分の動画で解説

0
カバー画像

初心者用マクロ学習講座|勉強範囲限定&12本の動画で早く効果を実感

リンクが貼れないのでQRコードから記事に進んでください。
0
カバー画像

PDFに対応

時代はどんどん進み、紙ベースの帳票から電子的な帳票の時代ですね。領収書やその他の書類は、紙ではなく電子的な保存に変わって来ています。時代だなあ~と感じているのは、前時代的感覚なのでしょうか。当方でご紹介している、請求書、見積書の帳票出力は「紙」を想定して作成しています。連続で何枚も出力できるように仕組んでいるのですが、その仕組みはテンプレに各ページのデータを書き込んで、1ページ、2ページと印刷しています。そうすると、最終的にExcelシート上に残るのは最終ページとなります。例えば、1ページから5ページまである帳票ですと、最終的に印刷が終わった後にSheet上に書き込まれているのは5ページの分のみとなります。この仕組みのまま、WindowsのプリンタのPFD印刷(変換)にすると、各ページ毎に一つのPDFファイルとなってしまいます。このように、複数ファイルになったPFDの帳票をお客様に送る事はできないでしょう。かと言って複数のPDFファイルを一つのPDFファイルに加工するのも面倒ですし、作業としてどうかなあと思います。作成する度に合体作業・・・しからばどうするか。現在の帳票作成をそのままで「PDF用」としてExcelSheetを追加することにしました。これまでの印刷作業が終了すると別Sheetに全ページが表示されるようになります。そのSheetをPFDにすると一つのファイルとして表示されます。連続印刷仕様のVBAを順次改定予定です。既に改定が終了しているものもあります。ご興味があればデモ版がありますので試してみる事ができます。
0
カバー画像

(36日目)『忙しい』を言い訳にする人たち。

昨日はクリスマス仕様。なのでパーティスタイルで飯つくったワケです。が、メチャクソ時間かかったわ!うーん、チキンカツのChicken🐔を買い過ぎたのが原因ですな。『うーん、足りるかなぁ?』とChicken野郎になったのがダメだった。自宅なのにまるでクソ忙しい飲食店の厨房。なので、今日は少しお疲れモード。さて、疲れを癒すべく本題へGo!☆━━━━━━━━━━━━━━━━━━━☆人事として取引先と話すと、他社の情報を耳にする。で、採用絡みで取引先がこぼすのが『各社の人事さんお忙しいよーで』って言葉。この背景には、→ 提案した内容が進まない。→ 商談する時間を得づらい。と言うのがある。それを聞く私はいつも思う。『みんな何に忙しいの?』イヤミっぽく書いたけど、みんなが『忙しい』と言い訳する理由も状況も分かってます。企業によっては、人事って総務を兼ねていたり、他の業務を兼務していることもままあるから。『人手が足りないんだ!』『猫の手も借りたいよ!!』はい、猫の手↓🎁しかーし、かくいう私も総務兼任です。人事採用しながら色んなことやってるんで事情は同じです。ではなぜこの差が生まれるのか?それは、リソースを自分で作り出すために取り組みを続けてきたから。亀岡の思考は、『手間暇かけたから正しいとは思わない』『いかにラクするか考える』『ムダなく気持ちよく仕事したい』です。『アイツ、仕事ラクしやがって!』と言う言葉は最大の褒め言葉です。実は、今の会社で入社直後からそのための環境作りをしてきました。例を挙げると、・管理データの整理、統合・労力を省く環境づくり・業務や仕様ツールの定型化です。この取り組みを足
0
カバー画像

(11日目)部屋とプログラムと私。

部屋は関係ないです。『仕事楽したいなぁ』という理由から、42歳になって初めてプログラミングに挑戦してみた。イチから知識を学んだワケではなくて、自分の業務をしながら、『こぅしたいなぁ』『あぁしたいなぁ』なんて考えながらネットの海を泳ぎまくり。時たま水没。四苦八苦しながらも、1年もしたらそれなりにできるよーになったゎ。おかげでメッチャ楽になった。余った学生とのお喋りに時間当てられるからね。組織にいると思うんだけど、ルーティン業務とか、人がやる必要のない仕事ってあるのね。人がやることでエラーや間違い生じそうな業務も。それらになんのギモンも持たずに、そのまま放置してるってのは仕事していると思えない。無駄な労力に対して頑張っている姿を見せても、それはパフォーマンスにしか見えへんねんな。それは言い過ぎか。無駄なことに頑張っても何も生み出さないよーって言いたくなる。どの仕事に力を費やすことが意味があるか、何を合理化したら意味ある仕事に時間を注げるか、これを常に考えることこそが仕事やと思う。自分が使えるリソースなんて限りがあるんだから。それが分かってない人が多い。さておき、自分はプログラミングは結構好きだと気づいた。考え方はロジカルな方なので論理的にプログラム構造を考えるのは苦手じゃない。作って・動いて・目的達成のたび、至極の喜びを感じる。とは言え、作る目的をしっかり持っておかないといけない。でないと、ただの自己満足だから注意しないと!今日のおまけ:昨日、10数年ぶりにKYK行ってきた。安定のうまさに舌鼓。新しいお店を探して行くことが多いけど、たまに安心感あるベテランを頼るのも良き。黒豚ヒレカ
0
カバー画像

計算用の演算子と算術演算子 PythonとVBA

基本的な算術について記載します。足し算、引き算はどちらの言語でも足し算:+  引き算:-になります。注意点としては、掛け算と割り算については違いがあります。〇VBA10の3乗の計算:10^3=1000掛け算:10*3=30割り算:10/3=3.333割り算(割り算の結果の整数部分):10¥3=3割り算(割り算の結果のあまり):10 Mod 3=1●Python10の3乗の計算:10**3=1000 掛け算:10*3=30 割り算:10/3=3.333 割り算(割り算の結果の整数部分):10//3=3(小数点以下は切り捨て)割り算(割り算の結果のあまり):10 % 3=1 以上が違いになります。
0
カバー画像

見積書作成建設業界用改定版

「ExcelVBA見積書作成建設業界用」をほぼ全面的に改定致しました。見積書の形式は業務によって様々です。その中でも「建設業界」の見積は特別面倒なものになります。なぜ面倒なのでしょうか?まず作業工程が長い。通常の建設工事ですと、仮設工事から最終の引き渡しまでとても長いものです。次に、使用する材料が多岐にわたるということです。建物ですと、土台から上物まで完成まで非常に多くの材料を使用します。後は人件費でしょうか。一つ一つの作業の「人工」計算が必要になります。その他付随する経費等が加わります。様々な見積書を拝見いたしますとこうした煩雑な見積を見やすく、解りやすいものにする為に集計部分。書籍で言えば「目次」的な頁を作成しているようです。各工程の合計金額を集計部分に表記して「総合計」を算出する方法です。各工程の「詳細」は別ページで表記させるという事です。このように「合計部分」と「詳細部分」を分けて表示させる方法はとても解りやすく、見やすいものです。今回改定した「ExcelVBA見積書作成建設業界用」はこの方式をとりました。以前のバージョンでも「合計部分」と「詳細部分」を分けて表記させていましたが、操作性の向上を目指しました。作成手順は以下のとおりです。①見積の詳細項目の作成  例えば:仮設工事とか基礎工事・・・  作成すると「合計部分」実際には「目次」の名称のSheet上に  詳細名が書き込まれます。②詳細項目の見積作成  最後に合計を入れると「目次」Sheet上の詳細名に合計金額が記入されます。順に詳細項目の見積を作成して行きます。③集計部分「目次」部分の作成  詳細の合計、その他の
0
カバー画像

このブックには、安全ではない可能性のある外部ソースへのリンクが1つ以上含まれています。リンクを信頼できる場合、リンクを更新して最新データを取り込みます。信頼できない場合は、データをそのまま手元で処理してかまいません。の回避方法

上記のようなPOPUPを見たことがあると思います。身に覚えのない外部リンクでの場合以下を確認して、削除することで解決いたします。データタブ&gt;リンクの編集以下の画面でリンク元が不要なものがあれば、それをクリックし、リンク解除をクリック以下の警告が出ますので、確認して、リンクの解除をクリックこれでも、リンクの解除が消えない場合があります。以下の手順をお試しください。&lt;別案1&gt;Ctrl + Aを押し、シート全体を選択します。※(入力規則がどこにあるかがわかっている場合は、入力規則が入っているセルを選択します。)【入力規則規則とは、選択式になっているセルのことです。】データタブ&gt;データの入力規則全てクリアをクリック(必要な入力規則も削除しないように気をつけてください。)&lt;別案2&gt;数式タブ&gt;名前の管理以下のような他のファイルを参照しているようなものがあれば、選択して削除をクリック(必要な名前も削除しないように気をつけてください。)以上となります。どなたかの助けになれば、嬉しいです。
0
カバー画像

拡張子の表示方法

拡張子とは、ファイルの保存形式を表すものになります。赤枠の「.xlsx」が拡張子になります。拡張子には種類があり、Excelのよく見る種類だけでも「xlsx」「xlsm」「xls」とあり、拡張子を表示していないとマクロが入っているかが、わかりにくかったりします。(何も知らずに実行して、マクロが実行するようになっていたら、個人情報をどこかに送信されてしまったりと大変なことになります。)ですので、拡張子を表示して、マクロが入っているのかなどしっかり見極められるようにしましょう。※昔のファイルで「xls」でもマクロ入りのものがあります。xlsのファイルを開くときは慎重に開きましょう。拡張子表示手順1.フォルダを開きます2.表示タブをクリック3.ファイル名拡張子のチェックボックスにチェックを入れてください。以上です。これで、マクロ入りファイルやCSVファイルの見分けがつくようになります。誰かの参考になれば、嬉しいです。
0
カバー画像

【Excel VBA】同一グループに、条件付きで連番を振る

YouTubeでも紹介しています。是非ご覧ください。連番をふるというのは、パソコンが行う単純作業で最もメジャーですよね。 しかし、なかなか、奥が深いです。 今回は条件付きで、連番を振ります。 同一グループに、条件付きで連番を振る こんにちは。伊川です。 最近は、Excelばかりやっているので、Excelもやってみようと思います。 Excelで、同一グループに、条件付きで連番を振るというのは、どのようにするのか? 悩みました・・・・・・ ACCESSなら、カンタンできるのですが、Excelでは、やったことがありません。 関数を利用すればカンタンできるのですが、VBAでは、どうするのか? WorkSheetFunctionならばできるだろうと安直な思いからやったのですが、なかなか厳しい過程となりました。 このブログはこんな人にお勧め ExcelでVBAを勉強している人 VBAで連番を振りたい人 VBAでSUMPURODCT関数を利用したい人 このブログを、読み終わるころには・・・・ WorkSheetFunctionを、関数のように利用できると思っていましたが、そうではありませんでした。 結構考えましたが、Excelでも型が一致しませんというエラーに嫌気がさしましたが、なんとか完成しました。 その過程を見てください。 SUMPURODCT関数をVBAで実行 今は、それほど利用されませんが、COUNTIFS関数が登場するまでは、私の会社では、よく利用していました。 配列の対応する要素間の積をまず計算し、さらにその和を返します。 ただし、SUMPRODUCT関数は数値以外の配列要素は、
0
カバー画像

スケジュール管理について(時間順に整理する方法)

営業などの訪問スケジュールをExcelで作成したカレンダーで整理する際に、同日でも訪問時間を整理して記載したい時があるかと思います。一つ一つ時間を整理して、コピー&amp;ペーストの方法でも可能ですが、後から新たなスケジュールを追加しようとすると全部やり直しになってしまうと思います。また、一か月分をちまちまするにも時間がかかってしまうと思います。そんな時にはパソコンの性能を活かせる時です。VBAですべてを記載することもできますが、Excel関数とVBAを組み合わせるで対応できます。方法として、①日付をシリアル値で表示します。②時間帯=〇〇:△△など、24時間形式で入力し、TEXT関数で4桁の数字に変換します。この時に、1000で除算し、小数点第四桁まで表示します。除算する理由は、14:01と13:59の区別をつけるためにです。③最後に VALUE(CONCATENATE(日付のシリアル値,時間帯を1000で除算したもの))上記の関数にて①と②の値を結合し、VBAのSORT関数で昇順にすることで並び替えが可能です。重要度は低いかもしれませんが、一度お試しあれ。
0
カバー画像

リストによる画像の切り替えの設定方法

1.画像が入るだけの大きさのセルを用意します。(以下のような状態)2.各セルに名前を付けていきます。(赤枠内に名前を記載する。)※注意:きちんと確定しないと名前がついていない状態になります。&lt;名前がきちんとついたかの確認方法&gt;Ctrl + F3を押すと以下のようなWindowがでます。(画像のようになっていれば、名前はきちんとついています。)3.先ほど作成した枠に画像を配置します。4.セルに名前を付けた名前をリストにする。[Alt] → D → L の順番に押すと以下のWindowがでます。4-1.以下の画像のようにリストを入力する。4-2.入力したら、OKをクリック5.作成したリストを確認する。(今回はA4にリストを作成しています。)6.名前の定義を編集します。リストを作成したセル(今回はA4)を選択した状態で、[Alt] → D → L の順番に押します。すると以下のWindowが出ます。6-1.以下のように編集し、OKをクリックします。7.参照先のセルを設定します。どこでもいいので、セル(今回の場合、コピー元をC19)をコピーし、コピー先を選択(今回の場合、D4)を選択した状態で、以下の画像の赤枠をクリック(リンクされた図)する。8.リストとの連動設定赤枠内を「=画像選択」とする。(ここで、6-1で設定した参照を設定する。)9.完成以上になります。画像の切り替えができると、スッキリとした表が作成出来ます。良かったら、お試しください。
0
カバー画像

Excel関数とVBAの関係性について

今では有用に利用できているVBAですが、Excel関数を含むほぼ全ての機能が記載することで自動化ができる代物です。しかし、Excel関数で表示できたり、まとめたりできることをすべてVBAにしてしまうことも考え物だなと考えるようになりました。結論としては、Excel関数とVBAの共存こそが大事です。Excel関数では、入力して数字や文字列などを瞬時に自動計算できることで、統計や集計をとることができます。また、条件付き書式などにも関数を利用できます。対してVBAではボタンを押すなど発動条件を設定しないと適用できませんが、データベースベースで抽出、まとめる際には有用に利用しやすいです。なんでも融合することが大切です。
0
カバー画像

cellsの重要性について

どうしてcellsが通常使われるのが多いのかというと、まず変数の話抜きには説明できません。変数を自在にこなすことが上達の要のように現在は感じております。変数には数字や文字列を入れることができますが、数字を定義できることと、cellsが数字を使ってセルを指定できることがみそになります。つまり、数字を段階的増やしたり、減らしたりすることでセルを縦にも横にもずらしていくことができます。また、セルの列数を変数を使って定義することで、相対的に参照することができ、列の追加や削除を行ったとしても指定するセルの列数がずれることなくカスタマイズすることもできます。更に、汎用できる幅も広がり、流用性の高いVBAを作成することができるようになりました。実に奥が深く感じる、今日この頃です。
0
カバー画像

プログラミングへの足掛かり

ココナラでマクロの販売をするにあたり、過去に勉強してきた方法についてお話をしようと思います。気合だけでExcelを操作していたころ、プログラミングに詳しい後輩が入職してきました。その後輩がかなり作業が早く終わっていたので、恥を忍んで話を聞いたことがきっかけです。その中で、Excel関数から取り組むのか?VBAでのマクロから取り組むのか?はたまたパイソン、C+、javaなどの他のプログラミング言語から取り組むのか?などなど、かなりとっかかりに悩むことがありました。特に、後輩から最初のプログラミング言語は慎重に決めないと、絶対挫折するよと言われていたこともあり、正直ビビりました。。結局、仕事で活用することが多くあったExcelで勉強し始めようと決意するに至りました。しかし、Excel関数であれ、VBAであれ、知らない機能、方法が盛だくさんでした。知らない世界があることにわくわくしながらも、とりあえずVBAに取り組み、一か月で挫折しかけました。こんな制御文どこに使うのか?、実務で活かせるのか?覚えるしかないのか・・・。そこで、書店で試し読みしている中で、ふりがなプログラミングなるものを発見しました。かなり初歩的なものしか書籍には紹介されていませんでしたが、割と読みやすく、さくさく学ぶことができました。特に私に響いたことは、反復、重複、繰り返しの作業をマクロにする大切さです。パソコンの方が、より速く、正確にできることを知ることができたので、そこからはマクロの理解が格段に深まりました。理解が深まるにつれ、表作成における相対的な位置関係を意識し、どんなアレンジにでも汎用できることを前提に作
0
カバー画像

今まで知らなかったエクセルの話 その2(シート数の上限)

前回の記事「Excel2007」がエクセルのバージョンアップの歴史において転換点であるとお伝えしました。そして扱えるデータ量が大幅に増えたことも解説しました。■「Excel2003」まで1シート当たりの行数 65,536行 1シート当たりの列数 256列 ■「Excel2007」~「Microsoft365」 1シート当たりの行数 1,048,576行 1シート当たりの列数 16,384列ちなみにエクセルシート数に上限はあるのでしょうか?今回はその事に触れてみたいと思います。結論から申し上げますとエクセルシートの上限は、そのPCのメモリ量に拠るので決まった上限数があるわけではありません。ということで実際に何シートまで増やせるのか検証してみたいと思います。といっても1シートずつ手作業で増やすのは、手間暇が掛りすぎで現実的ではありません。VBA(プログラム)を使って自動的にシートを増やし、どこまでシートが追加されるのかを検証します。VBAプログラムは以下の通りとてもシンプル(たったの6行)です。【検証結果】シートはどこまで増やせたか!?プログラムを走らせて10数分して以下のようなエラーが出ました。はたして何シートまでできたのでしょうか?「Sheet5452」まで追加できました。ちなみにこの後このファイルはすぐに落ちてしまいまともに使える代物ではありませんでした。【まとめ】■エクセルシートは私のPC環境下では5452シートまでシート作成できました。■とは言え、メモリ不足状態でまともに使えるファイルではありませんでした。⇒物事に常識的限度があるようです。。。以上くだらない検証にお付き合
0
カバー画像

【ACCESS VBA】フォームで複数の検索も、公式を覚える

YouTubeでも紹介しています。是非ご覧ください。ACCESSを勉強して、一番始めに作成するのは、検索フォームでしょう。 Excelよりもはるかに便利と思うはずです。 しかし、複数の検索ワードとなると、挫折する人も多いのではないでしょうか? フォームで複数の検索も、公式を覚える こんにちは。伊川です。 先日、公開した検索方法なのですが、複数で検索するのは、日付と、名前までといいました。 しかし、私自身、4つのワードで検索をしていることを思い出しました。 まー、競馬なんですけど。 1度、複数検索は、はるか昔に公開しているのですが、日時と名前でしたので、複数の検索方法を紹介します。 他の情報よりもカンタンです。 あまり、おススメはしませんが、皆さんのスキルにしてください。 このブログはこんな人にお勧め ACCESSで、検索フォームを作成している人 ACCESSで、VBAを勉強している人 ACCESSのVBAで、SQL文を記載することに苦労している人 このブログを、読み終わるころには・・・・ 以前に紹介しました、SQLは公式に、当てはめるだけといいました。 今回もその、公式を利用しますが、従来の方法も紹介します。 1度覚えれば、一生もののスキルです。 SQLで、複数の検索条件を書く方法 大前提として、SQLとVBAは、似て非なるものです。 そんなの知っているという人は、沢山、いると思いますが、意外にも、挫折の道をたどります。 例えば、Andです。 このAndですが、VBAのコードとして、認識しているAndなのか、SQL文として、認識しているAndなのかで、異なってきます。 これが、
0
カバー画像

【ACCESS VBA】オプショングループで、検索フォームに花をつける

YouTubeでも紹介しています。是非ご覧ください。ACCESSで、最初の関門は、検索フォームを作成することです。 フィールド毎に検索する方法を紹介します。 オプショングループで、検索フォームに花をつける こんにちは。伊川です。 ACCESSで、最初の関門は、検索フォームを作成することです。 フィールド毎に検索する方法を紹介します。 今回は、社名は言えませんが、コンサルの内容を一部公開します。 キーワード検索についてです。 データベースには、様々なフィールドがあります。 本日は、名前で検索したいが、明日は、メールアドレスで、検索したいという時があります。 そんな時は、どうしますか? 検索のテキストボックスを、複数設置すればできます。 しかし、見栄えがよくないです。 そんな時に、参考にしていただければ幸いです。 このブログはこんな人にお勧め ACCESSで検索フォームを作成している人 ACCESSで、VBAを勉強している人 社内から、様々な要望を言われて、困っている人 このブログを、読み終わるころには・・・・ 検索フォームを作成するには、主キーで検索するのが、原則です。 なぜ、主キーで検索するのかというと、それがACCESSなのす。 今回は、主キーを設定できない場合を想定しました。 その時に役に立つのは、オートナンバー型の主キーです。 オプショングループを利用する 今回は、名前で検索する。 次回は、都道府県で検索する。 このような条件があるときは、フラグを立てます。 もし、Aというフラグであれば、名前で検索する。 もし、Bというフラグであれば、都道府県で検索する。 このフラグを立
0
カバー画像

xlsファイルをxlsx(xlsm)で開き保存するプログラム

今回はxlsファイルを、最初からxlsx(xlsm)ファイルで開いたかのように見せて保存してくれるプログラムを作っていきたいと思います。今回は開いたファイルに対して処理を行います。フォルダ内のxlsファイルを一括してxlsx(xlsm)に変換するプログラムは、検索するとたくさん出てくると思いますので今回は割愛させていただきます。xlsファイルとxlsx(xlsm)ファイルの違いまずはxlsファイルとxlsx(xlsm)ファイルの違いです。xlsxおよびxlsmは、Excel 2007から現在まで標準で用いられている拡張子ですxlsx:マクロを保存できないxlsm:マクロを保存できるの違いがあります。一方xlsは、Excel 2003まで標準で用いられていた拡張子です。Excel 2003のサポートは、2014年4月をもって既に終了していますが、xlsファイル自体はその後のファイル形式と互換性があり、現在のエクセルでも問題なく動作します。マクロも保存できます。だったらxlsで良いと思うかもしれませんが、xlsxはxlsと比べると・xlsxの方がファイルサイズが小さい傾向がある。・xlsxの方が使える行数と列数が多い。というメリットがあります。お使いのExcelのバージョンが2003以前であればxlsを使うしかありませんが、そうでなければ基本的にはxlsxで保存した方が良いです。xlsファイルをxlsx(xlsm)で開くコードOption Explicit Dim WithEvents ExcelApp As Application Private Sub Workbook
0
カバー画像

【VBA】-Episode③-WebAPI…クンクンクン…なるほど

みなさんこんにちは。イプシロンです。VBAを使用してWebAPIで遊び倒す企画。 今回は-Episode③-になります。 早速いってみましょう!!!前回のあらすじ前回はOpenWeatherMapのAPIにユーザー登録をしてAPIキーをゲットする手順の説明をしました。今回はゲットしたAPIキーが「OpenWeatherMap」のAPIの中でどのような役割を担うか、クンクンクンクン鼻を効かせていきます。準備するAPIOpenWeatherMapのAPIは様々な種類があります。まぁそこはネットで調べていくと、かんたんに判明することですので、今回は下記のAPIを例にご説明いたします。 (エイチティーティーピーエス)://api.openweathermap.org/data/2.5/weather?lat=35.6812405&amp;lon=139.7649361&amp;units=metric&amp;lang=ja&amp;appid={API key}これは、緯度(lat)=35.6812405経度(lon)= 139.7649361の情報から場所(東京駅)を判定し、APIキーが正しければ、その位置の天気情報を返すという内容になっています。(※緯度経度は、Googleマップで調べられますが、手順については割愛します。)WebAPIの検証まず、上記の引用文のままAPIをコピーして、ブラウザのアドレスバーに貼り付けて実行します。そうすると以下のようになります。言うまでもなく失敗しています。”cod”が400番台、500番台の場合はエラーになりますので正しい数値を入れる必要があり
0
カバー画像

【ACCESS Excel連携】毎月の集計したクエリって意味あるの?

YouTubeでも紹介しています。是非ご覧ください。なぜかクエリというものは、増えます。 それは、ACCESSの使い方を知らないからです。 または、覚えるのが面倒だからです。 毎月の集計クエリって意味あるの? こんにちは。無駄なクエリを僕滅する委員会の伊川です。 ACCESSを、我が社でも利用していますが、なぜ、クエリは増え続けるのでしょうか? カンタンな操作しか、基本書に掲載されていないことが原因でしょう。 ACCESSとExcelの連携となると敷居が高いと思う人も多いようです。 今回は、Excelを利用して、無駄なクエリを僕滅します。 実務でクエリが増える現象は 月の集計 4半期毎の集計 月間の個人成績 こんな感じでしょうか? 日本人は、物持ちが良いので、平気で3年前のクエリを残しておきます。 3年前の情報は、普通、毎日の実務では利用しません。 でも、なんか、あった時に、困るから・・・・・・ 今回の記事で、もう、困ることはなくなります。 このブログはこんな人にお勧め ACCESSの中にクエリが沢山ある人 ExcelとACCESSの連携を勉強している人 SQLを勉強している人 このブログを、読み終わるころには・・・・ はっきり言いますが、無駄なクエリを30個減らせます。 集計に関するクエリは、作成する必要がなくなります。 問題は、SQLを利用するのですが、SQLの公式を利用すればカンタンです。 ExcelVBAで、SQL文を書く 以前にも、この手の記事は記載しました。 しかし、ユーザーフォーム等、結構、面倒です。 今回は、ユーザーフォームを利用しないで、セルで設定します。 要
0
カバー画像

【VBA】-Episode②-APIキーゲットだぜ!

みなさんこんにちは。イプシロンです。VBAを使用してWebAPIで遊び倒す企画。今回は-Episode②-になります。早速いってみましょう!!!OpenWeatherMapのAPIを使ってみる前回はWebAPIとはなにやつ?というタイトルで、WebAPIについてざっくり説明しました。今回はその中でも「OpenWeatherMap」のAPIを使用する準備をご説明します。使用するAPIまずは、下記のAPIをご覧下さい。(エイチティーティーピーエス)://api.openweathermap.org/data/2.5/weather?q={city}&amp;appid={key}&amp;lang=ja&amp;units=metricこれは、指定した都市の現在の天気を取得するAPIになります。{city}には、Tokyoや、Ikebukuroや、Saitamaや、Urawa等、天気を取得したい都市名を指定します。{key}には、APIキーを指定します。今回はこいつ(APIキー)をゲットしに行く手順です。手順APIキーをゲットするには、OpenWetherMapサイトに会員登録する必要があります。無料で遊ぶわけですから、どこ馬の骨なのかは明らかにするという紳士たる所以です。登録する材料は、ユーザー名、メールアドレス、パスワードです。1.サイトへアクセスします。アクセスするサイトは下記です。(エイチティーティーピーエス)://home.openweathermap.org/users/sign_up2.ユーザー名、メールアドレス、パスワードを入力します。3.もろもろチェック項目にチェ
0
カバー画像

【VBA】-Episode①-WebAPIってなにやつ?

みなさんこんにちは。イプシロンです。今回は、VBAを使ってWebAPIで遊び倒す方法について書いていきたいと思います。WebAPIで遊ぶにあたり、WebAPIの概要説明、準備、実装、解説等書き始めたら多岐に渡るため、少しずつ分けてご紹介できればと思います。初回のEpisode1はWebAPIについてです。それでは、さっそくいってみましょう!!!物語全体の概要OpenWeatherMap APIという現在の天候や予測履歴を含む各種気象データのAPIを提供してくれるサービスがあり(無料)、VBAで天気情報を取得して遊び倒す手順をご紹介します。説明の基準専門的な用語、説明は極力省いて、みなさんが少しでも興味を持っていただけるような記述を心がけます。WebAPIとはまず、APIとは「Application Programming Interface(アプリケーション・プログラミング・インターフェイス)」の略語です。プログラムがWeb上に公開され、外部(我々のようなIT遊人)から呼び出して利用します。さまざまな分野でWeb APIが公開されていますが、Web APIの多くは無料で遊ぶことが可能です。今回、天気情報を表示するツールを開発する予定ですが、そもそも、天気情報はどこから取得するものかと考えたとき、自ら、一つ一つ実装すると思い立った場合、天文学的な時間と、圧倒的労力を費やし、気付いた頃には廃人と化します。それを解決するのがWebAPIであり、今回で言うと、天気情報は公開された情報であり、こちらがリクエストすれば解決するというお手軽さがあります。「WebAPI」で検索をかけるとたくさ
0
カバー画像

プログラムによる業務効率化

これは、とあるブログの記事を見て感じたことなのですがある案件で今まで人がやっていた作業をエクセルのマクロというプログラムで自動化した案件について仕様通りの完璧なプログラムを納品されたSEの方が『完璧すぎて、人のチェックが働かなくなる。たまに間違うようにできないか?』という相談を受けて何のためのプログラムなのかわからなくなったという話があったそうです。人材の能力を高めたいという視点もわからなくはないのですが…。できればワザと間違うというのではなく、正常稼働しているかを定期的にチェックするという風に考えていただきたいなと個人的には思います。ただ自動化するだけでなく、それが正常に動いているかどうかを分かるようにチェックする。例えば項目Aと項目Bの合計がCであればその答えがあっているかを見るとか、項目Dには平均して500が入って、1000以上や100以下が稀であればそれらを異常値として通知するとか。本来は楽になったり、正確性を上げるためのプログラムだと思うのでぜひご参考いただければ幸いです。
0
カバー画像

【selenium】xPathってどうやって取るねん。

みなさんこんにちは。イプシロンです。今回はスクレイピングで必須となるサイト内のxPathの取得方法について書きます。ではいってみましょう。準備ブラウザはChromeを使用し、ココナラのサイトを例にとってご説明します。https://coconala.com/手順1.ココナラのサイトを表示する2.今回は、「ビジネス購入の方はこちら」の文字をスクレイピングします。3.「Shift」+「Ctrl」+「C」を押します。右側にソースコードが表示されます。4.マウスを対象の箇所(ビジネス購入の方はこちら)まで移動します。右側のソースコード上にブルーでハイライトされます。5.ハイライトされた箇所を右クリックします。6.「Copy」→「Copy xPath」を選択します。クリップボードにxPathがコピーされました。7.貼り付けると以下のようになります//*[@id="__layout"]/div/div[1]/div[2]/header/div[1]/div[3]/nav/ul/li[2]/aこれが、対象箇所のxPathになります。8.ソースコードに貼り付けるVBAのソースコードにxPathを以下のように貼り付けます。(今回はメッセージボックスに表示するようにしてみました。)MsgBox Driver.FindElementByXPath("//*[@id=""__layout""]/div/div[1]/div[2]/header/div[1]/div[3]/nav/ul/li[2]/a").Attribute("innerText")9.こんな感じになりました。う~ん。。。。かんたん!!
0
カバー画像

【Excel/VBA】プログレスバーを自作する方法

みなさんこんにちは。イプシロンです。VBAで大量の処理をするときに時間が掛かり、その間PC操作ができないとなると、手持ち無沙汰になりがちです。(ちゃんと動いてんのかな~。)(あとどれくらいかかるんやろ~。)なんて、雑念が湧き始めます。そんな時に、役立つのがプログレスバーです。プログレスバーを使用するメリットは以下のとおりです。プログレスバーを使用するメリット・ユーザーが処理を中断しなくなる(動作の見える化)・進捗状況の見える化・終了時間が推測可能VBAには標準のプログレスバーがありますので、それを使いがちなのですが、実は、、、標準のプログレスバーには落とし穴があるのです!!!標準プログレスバーの落とし穴それは、環境依存のエラーがあり、開発者のバージョンと、ユーザーのバージョンに差異があるとエラーになりやすいのです。64bit版のOfficeにはプログレスバーが実装されていないため、表示させようとするだけでエラーになってしまいます。なので、不特定多数のユーザー向けに配布する場合は、そこを考慮して開発をする必要があります。そのため、私はプログレスバーを自作することをおすすめします。さっそく、いってみましょう!!!手順1.「挿入」→「ユーザーフォーム」をクリックし、フォームを追加するユーザーフォームが追加されます。2.ツールボックスから「ラベル」を選択します。ラベルが追加されます。3.ラベルをプログレスバーっぽく引き伸ばします。4.ラベルのCaptionを消します。(念のため)5.ラベルのBackColorを変更します。6.標準モジュールに以下のコードをコピペしてください。Sub t
0
カバー画像

【Excel/VBA】VBEの背景色や文字色を見やすくする

みなさんこんにちは。イプシロンです。VBAではコードをカキカキする際、VBE(Visual Basic Editor)という専用のエディタを使います。初期設定のままでも十分なのですが、これ、、、見にくくないですか?長時間作業するのであれば、画面は真っ黒にして使用したほうが疲れにくいし(個人的感想)、なんかかっこよくないですか?ww私は、壁紙も、Officeソフトのテーマも、VSCodeもすべて真っ黒設定にしています。理由はかっこいいからですwと、いうわけで今回は、VBEの背景色や文字色を変更する方法について書きます。VBEのデフォルト画面VBEのデフォルト設定は下記のような画面になります。この状態でも充分使用できます(当たり前)ここから好みの文字色やフォントに変えていきます。手順1.画面上部の「ツール」→「オプション」をクリックします。2.オプション画面の「エディターの設定」タブをクリックします。こちらで設定して、最後に「OK」をクリックすれば完了です。以上!かんたん!!!コードの表示色についてエディターの設定にある、「コードの表示色」についての詳細は下記のとおりです。(別に覚える必要はありません。)===================================== ・標準コード:数値や文字列などの値など  ・選択された文字:クリックで選択した文字 ・構文エラーの文字:構文中のエラー箇所 ・次のステートメント:実行時エラー、Stopなどで停止している次のステートメント  ・ブレークポイント:ブレークポイントを貼っている箇所 ・コメント:コメントアウトの文字 ・キーワード
0
カバー画像

【Excel/VBA】指定した文字の間を抽出する

みなさんこんにちは。イプシロンです。VBAではセルの情報を引っ張って文字列操作するという作業が多く発生します。Left関数やRight関数等、文字列系の関数を駆使して自分がやりたい文字列操作を実現させることが腕の見せどころであります。今回は、特定の文字の間の文字列を抽出するコードについて書きます。私は、スクレイピングでよく使用するため、備忘録としてご活用ください。コード内容'/////////////////////////////////////////////////////////////// ' Mainの関数'///////////////////////////////////////////////////////////////Sub main()     Dim str1 As String     Dim str2 As String     str1 = "りんごちゃん「わたしはりんごが大好きです。」と言いました。"     ' 第一引数:抽出下の文字列     ' 第二引数:抽出したい先頭の文字列     ' 第三引数:抽出したい末尾の文字列     str2 = StringExtraction(str1, "「", "」")     Debug.Print str2 ' 出力結果 ”わたしはりんごが大好きです。”End Sub '/////////////////////////////////////////////////////////////// ' 囲まれた範囲内の文字を抽出する '/////////////////////////////
0
カバー画像

【Excel/VBA/Selenium】Webページに指定要素が存在するかチェックする

みなさんこんにちは。イプシロンです。ECサイトなど商品の在庫状況によって、サイト内の指定要素が変更される場合があります。そのようなサイトに遭遇した際、スクレイピングする際に、webページに指定要素が存在するかをチェックすなければエラーになりますので、本日はその対処法について書いていきます。結論指定要素が存在するかどうかを判断して、分岐処理をすれば問題ありませんWebページに指定要素が存在するかチェックするサンプルコード=================================Public Sub 指定要素の存在チェック()     Dim driver As New Selenium.WebDriver     Dim myBy As New By     Dim sURL As String  sURL = "スクレイピングしたいサイトのURLを入力"         driver.Start "chrome"     driver.Get sURL         '■要素が存在していればTrue/存在しなければFalse     Debug.Print driver.IsElementPresent(myBy.ID("対象要素のIDを入力"))     '■要素が存在してれば処理を行う     If driver.IsElementPresent(myBy.ID("対象要素のIDを入力")) Then         '存在していた場合の処理     Else         '存在していない場合の処理     End If         '■上記は
0
カバー画像

【Excel/VBA】VBAは今後陳腐化するのか考える

みなさんこんにちは。イプシロンです。いきなりですが、私はVBAが大好きです。なぜなら、Excelをいじり始めた高校生~大学生、簡単な表計算から門を叩き、SUM関数やIF関数、COUNT関数やVLOOKUP関数と関数を使いこなすことでステップアップを実感し、自動化できるマクロの存在を知り、VBAに興味を持ち、ごりごりコードを書くことに時間を溶かし、Webスクレイピングにも首を突っ込むという人生を歩んでおります。社会人&amp;SEとして10年以上時間が経ちますが、初心を忘れないという意味でもVBAには触れていきたいと考えている今日この頃。(根性精神論的発想&amp;プログラミングの基本も詰まってるという思想。)しかしながら、日進月歩の世の中。Youtubeを見ると「Python」や「Power Automate」など、Office系ソフトもノーコードで扱える昨今。2009年からエンジニアとして働きだしてきた私も、「VBAなんてお遊び言語や」「VBAなんてちょろい、かんたんや」なんて、軽視、揶揄されており、風当たり強し。本当にそうなの?VBAの食い扶持は減少傾向にあるの?本気で考えてみました。結論としては、、、うむ!そうだと思います!!!理由として、以下の3点が考えられます。1.チーム開発には不向き2.VBAエンジニアの単価が安い3.やっぱりかんたんかと、思います。チーム開発の根幹であるGitにVBAは取り込めますが、コンパイルはエクセル起動で実行するので、手間がかかり、形的にはグループ開発はできるものの、やっぱり不向き感は否めない。。エンジニア単価も安く、しまいには、某プログラミ
0
カバー画像

ココナラブログはじめました。

はじめまして。イプシロンと申します。ココナラブログはじめました。まずは、自己紹介をします!!・・・と、言いたいところですが、自己紹介については、ココナラのプロフィールをご参照ください(笑)↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓https://coconala.com/users/2549559さて、このブログでは以下のカテゴリーに分けて、技術的なコラムや、独り言を徒然なるままに書いていこうかと考えています。①Excel/VBAに関するブログ②Reactに関するブログ③firebaseに関するブログ④コラム的なブログ※カテゴリーは今後変更するかもしれませんが、、、wなぜこのカテゴリーにしているかというと、、、好き!!!だからです。VBAに関してはプログラミングの基本的な構造を学びつつ、Excelを自動化したり、webスクレイピングをしたりと遊べる範囲が広いですし、Reactに関しては、コードにかなりクセがありますが、webアプリをサクサク作れる点に魅力を感じます。どちらの言語も習得するまでに私はかなり時間がかかりましたが、自分に対する備忘録的な意味合いも含めて、少しでも面白可笑しく綴っていこうかと思います!なお、私のサービスにもExcel/VBA、React/firebaseを利用したサービスを展開しておりますので、一度足をお運びくださいwExcel&amp;VBAを活用したスクレイピングサービスになります。サイトの情報をExcelに抽出したり、入力したり、単純作業を自動化するサービスです。BUYMAのバイヤー様必見のサービスです。最近TVCMも放送していて盛り上がってきてますね!
0
カバー画像

【Excel VBA】Fcuntionを利用すると本当に便利なのか?難しくないFcuntion

Fcuntionを利用することで、本当に便利になるのでしょうか? 整ったデータベースを作成するには、データを整理整頓することです。 Fcuntionを利用すると本当に便利なのか? こんにちは。伊川です。 以前に何度か、Fcuntionを紹介しています。 今回は、カンタンなFcuntionを紹介します。 Fcuntionを検索すると、テストの結果、消費税の計算になりますが、実用できないのが現状でしょう。 今回は、カンタンなFcuntionを紹介します。 Excelは、ユーザーフォームで解説します。 ACCESSは、フォームで解説します。 ぜひとも、整形されたデータベースを作成してください。 このブログはこんな人にお勧め VBAを勉強している人 Fcuntionを勉強している人 テキストボックス毎に、VBAのコードを記載するのが面倒な人 このブログを、読み終わるころには・・・・ Fcuntionを、勉強するにあたり、戻り値だとか、様々ななれない言葉が出てきます。 要するに、Fcuntionの結果を呼び出すということです。 呼び出したら、その結果を反映させます。 正確なデータベースを作成するには、必要な知識です。 カンタンなFcuntion 明日からでも、実務で利用できます。 実務で、あるあるだと思うのです。 電話番号を全角で入力する アルファベットを、1文字だけ、全角で入力する したがって、VLOOKUP関数で、参照できない そのたびに、切れている上司をなだめることが必要になる毎日が、イヤになる毎日。 これも、業務のストレスですね。 カンタンなFcuntion 作業手順 その1 そ
0
カバー画像

【ACCESS VBA】VBAでSQLを実行するには、公式を覚えることだ

YouTubeでも紹介しています。是非ご覧ください。5回にわたり、SQL文の書き方を紹介してきました。 今回は、紹介してきたSQL文を、VBAで実行した場合はどうなるのかということを紹介します。 VBAでSQLを実行するには、公式を覚えることだ こんにちは。伊川です。 今まで、紹介してきたSQLをVBAで実行したいと思います。 SQLとVBAは、少し書き方が違います。 しかし、前回、前々回等の動画を観ていれば、理解できると思います。 先にSQL文を書いて、後は、VBAの公式に当てはめればいいだけす。 SQL文を書けない人は、デザインビューで、先にクエリを作成して、SQLビューでSQL文を、コピペしてください。 誰でも、SQL文をVBAで実行することができます。 このブログはこんな人にお勧め SQL文を、VBAで実行したい人 SQL文の、クォーテーション、ダブルクォーテーションの付け方がわからない人 VBAで、SQL文を実行すると、必ずエラーが出る人 このブログを、読み終わるころには・・・・ VBAで、SQL文を実行するのは、あまり、お勧めしません。 本当に、システムが、属人化します。 しかし、どうしても実行したい場合は、今回の公式を覚えてください。 書き方は、ACCESSから、Excelへ転送する場合も同じです。 VBAをSQLで実行する このブログでも、何度か、VBAでSQLを実行する記事を、書いてきました。 しかし、クォーテーションや、アンパサンドなどで繋げるのが、結構面倒です。 なので、いやになります。 今回は、公式を紹介します。 この公式に当てはめてください。 Deb
0
カバー画像

自作メッセージボックスの作成 その4~どのボタンを押したかを取得するには~

自作メッセージボックスの作成その4です。 その3はこちら今回はユーザーフォームを押した後にどのボタンを押したのかを取得したいと思います。まずはモジュールレベル変数とEnumを宣言します。Private g_Rtn_MsgBox As Long Public Enum e_Rtn_Msgbox     RtnButton1 = 1     RtnButton2     RtnButton3 End Enumこれらは、ボタンのクリックイベントで使用します。ボタン1がクリックされた→g_Rtn_MsgBoxにRtnButton1を代入ボタン2がクリックされた→g_Rtn_MsgBoxにRtnButton2を代入 ボタン3がクリックされた→g_Rtn_MsgBoxにRtnButton3を代入 といった感じです。最後にユーザーフォームのMsgBoxShow関数にg_Rtn_MsgBoxを代入(リターン)してあげれば、どのボタンを押したかを実行元へ返すことが出来ます。実行元では次のように使用します。ユーザーフォームを×で消したときはg_Rtn_MsgBoxには0が代入されていますので、Elseで判定しています。実行時OKボタン押下時せっかくなのでサイズを色々変更してみました。Sub Sample()     Dim Rtn As Long     Rtn = Form_MsgBox.MsgBoxShow(Prompt:="マクロを実行しますか?", _                                  Button_Option:=mbOKCancel, _      
0
カバー画像

自作メッセージボックスの作成 その3~ユーザーフォームやボタンのサイズの自動調節~

自作メッセージボックスの作成その3です。 その2はこちら今回はユーザーフォームやボタンのサイズを自動調節したいと思います。オブジェクトがAutoSizeプロパティを持っているかどうかを確認オブジェクトにはAutoSizeプロパティを持っているものがあります。AutoSizeプロパティを持っていれば話は簡単です。AutoSizeプロパティにTrueを設定してあげれば良いいだけだからです。結論から言うと、今回使うオブジェクトの中でAutoSizeプロパティを持っているのは、ラベルとコマンドボタンの二つです。ユーザーフォーム自体はAutoSizeプロパティを持っていません。AutoSizeプロパティを持っていないユーザーフォーム自体のサイズの自動変更方法ユーザーフォームのサイズをラベルやボタンに合わせて自動変更するには、先にラベルとボタンのAutoSizeプロパティにTrueを設定ます。そしてそのサイズを取得してから全てのオブジェクトが見えるようにユーザーフォームのサイズを設定します。(ラベルとボタンのAutoSizeプロパティにTrueを設定した後のサイズは、設定した後のそれぞれのHeightプロパティとWidthプロパティで取得できます。)流れとしては次のようになります。①ボタンとラベルのAutoSizeプロパティにTrueを設定②ボタンとラベルのHeightプロパティとWidthプロパティを取得③ボタンの高さとラベルの高さを合計する。(ラベルとボタンのすき間など微調整)→ユーザーフォームの高さとして設定する。④ボタンの幅とラベルの幅を比較する。(ボタンとボタンのすき間など微調整
0
カバー画像

VBEをかえてみた。

VBE(ビジュアルベーシックエディター)をデフォルトから変えてみた。バックを白からブルーに変えてみました。白だと長時間使うと目がチカチカしてくるので、暗めで見やすい濃いめのブルーにしてみました。なかなかよかったです。文字もそれぞれ色別してみました。一番よかったのは、コメント文と通常のコード文の区別がすぐつくことですね。作って行くうちに「ちょっと違うなあ。」と思って別のコードを書く事があるのですが、是まで書いたのもを削除したくないとき一応「コメント」にするのですが、長いと「何処までコメントだっけ?」という場合が多いのでなかなか見やすくなりました。疲れないし。お勧めします。メニューバー「開発」→VisualBasic→ツール→オプション→エディター設定で変更できます。 
0
カバー画像

子供の頃の「好き」が大人になって役にたった話 ラスト

Basicというのはとても理解しやすく分かり易いプログラミング言語です。 中学生程度の英語力もで意味が分かる命令文(コマンド)しか無く、構造もシンプルです。 そして子供の頃に没頭したことは大人になっても、そうそう忘れるものではないのだということが分かりました。 勿論BasicとVBAは似て非なるものなので、そっくりそのままでは無いのですが基本的な部分は踏襲されており、簡単な処理を組めるようになるにはそれほど時間はかかりませんでした。 Accessはデータベースとしてシステムを組むのは簡単ですが、ある程度手を加えないと使い勝手が良くありません。が、補助的に自動化を組み合わせることでかなり便利になります。 例えば毎日の日付を手入力するのは面倒で更には誤入力の危険性もあります。そこで日付は自動入力にするのですが、もっと言えば将来の日付を事前に作成しておくこともできます。 VBAで1000日分のレコードを作ってやれば1秒もかからずに3年分のカレンダーが作成できます。Excelでもカレンダーは簡単に作れますが、セルの範囲などは使用者が管理する必要があるためどうしても操作上のミスが発生します。 Accessではシステムが管理してくれるので、使用者はカレンダーを意識しなくても当日の日付の枠にデータを入力するだけで良いのです。     (カレンダ作成のコードサンプル)AccessではVBAを使わないと出来ないという仕事はありませんが、上手に使えば入力を簡素化したり誤入力を防いで、使用者を補助してくれます。 Excelでは、4月分を印刷したつもりが5月分のデータを参照していた。などということが人
0
カバー画像

【ココナラ出品者の方へ】便利なツール作りました。無料で配布します!

ココナラでExcel VBA関係で出品しているさべろくと申します。ココナラの「分析」ページを私はよく眺めているのですが、直近3か月までしか分からないのと月ごとに何件売れて売上がどれくらいだったのかが分かりづらいことが不満でした。そのため、「売上」ページからダウンロードできるCSVファイルを読み込んで、月ごとの売上や販売件数をグラフで表示するツールを作りました。ツールの実行画面は↓こんな感じです。ツールの使い方は、まず「①.ファイル選択」ボタンを押してココナラからダウンロードしたCSVファイルを選択します。次に「②.実行」ボタンを押すとグラフが入ったエクセルファイルが自動で生成されるというものです。表示できるグラフは↓こんな感じです。おひねりを除いたグラフとおひねりを含んだグラフの二つが表示されます。年度毎にシートが作られて、そのシートに上記売上グラフが二つ表示されているといった感じです。このツールを使うと月ごとに何件売れていて、どれだけ売上があるのか、段々売上が上昇しているのか横這いなのかといった傾向が分かります。本ツールはGithubで公開しているので、本当はGitのURLを張り付けてダウンロードしてみてね、がしたかったのですが、ココナラのブログは外部リンクを張り付けられないので、お手数ですが欲しい方は私にメッセージでご連絡ください。ツール頂戴な、といっていただければ、よかよ~と送りつけます。ココナラでの売上をグラフで表示して分析したい方、単純に使ってみたい方、ご連絡お待ちしております&lt;(_ _)&gt;以上、お読みいただきありがとうございました。
0
カバー画像

子供の頃の「好き」が大人になって役にたった話3

相変わらずAccessの使い方は分からないけれど、時間があるときに開いては何かのデータを打ち込んで、どのような動きをするのかを確かめていました。 テーブルの見た目はExcelと同じような感じなので、何となく使えそうな気がしてきました。むしろデータを入力するにはExcelよりも使い勝手が良さそうな気がします。 実際、Accessではフィールド(Excelでいうところの行見出し:一番上の行のデータ名)を定義するだけで、後は1行ずつ入力できるのでExcelよりも簡単だと思いました。 (Accessのテーブル:入力に関してはExcelよりも簡単です。)ところがデータを入力していく内に、内容をコピペするのが意外に面倒でそもそも同じ内容のデータを何回も入力することに疑問を覚えました。 同じ相手に対して複数の取引があり、相手先を何度も入力して取引を入力するような場合です。Excelであれば縦にマウスをドラッグすれば、一斉にコピーできるのにAccessでは1つずつしかコピペできないのです。 他にもテーブルでの入力は何かと制限が多く、不便を感じ始めた頃に次のステップであるフォームの存在を知りました。 (これらはダミーデータ作成サイトで生成した架空の情報です)フォームでは自分がデザインしたレイアウトで、思うように入力欄を配置して自由に入力することが出来ることが分かりました。 コンボボックスで入力対象の候補から選択して入力したり、入力結果を計算して別の欄に入力したり色々と便利に使えるようになりました。 こうしてフォームが使えるようになったことで、「同じ取引先を何度も入力する」というのはそもそも間違い
0
カバー画像

VBAを使わない! Macユーザーに希望の光を!

こんにちは。KappaPapaと申します。Macユーザーです。Excelでツール作成を10年ほど経験しています。ココナラにはVBAを使わずに自動化するというサービスを出品しています。今回が初めてのブログ投稿となります。(大丈夫かな?)身の上話(少々お付き合いください^^;)私がExcelに本格的に目覚めたのは、今の会社に入ってからです。今の会社に入社した頃は、会社が出来立てホヤホヤだったため、社内インフラの整備が必要でした。勤怠管理システムは当初Webサービスの物を導入していましたが、色々な社内事情に対応しきれないことがわかり、急遽改善が必要となりました。会社の年間休日カレンダーは、総務の担当者がなんと手入力で作成していました。記入ミスも多かったでしょうし、作業時間もかかった事でしょう。これわまずいぞ!という事で、少々ExcelやVBAの経験があった私に白羽の矢が刺さりました。そして、会社で与えられたMacで勤怠管理システムや年間休日カレンダーの作成に挑みました。VBAの知識を活かして、かっこいいツールを作成するぞ…と。VBAが使えない!ところが、作成し始めた矢先から問題にぶち当たりました。VBAが落ちるのです。というか、VBAのエディタがすぐに落ちてしまいます。刺さった白羽の矢がボキッと折れる音が聞こえました。色々調べましたが、これはMacに関する問題のようで、原因も解決方法も見つからず、足踏みしている時間もないのでVBAは諦めて、関数でどうにかしようと取り組みました。そして今現在、VBAを使用せずに勤怠管理ツールも年間休日カレンダーも無事完成し、社内で運用されています。Ma
0
カバー画像

【ACCESS VBA】フォームを消すことってできる?

YouTubeでも紹介しています。是非ご覧ください。ルーティン業務を僕滅する内容を紹介してきました。 それは、ルーティン業務に対する、ストレスを僕滅するためです。 そのストレスは、ルーティン業務だけではありません。 フォームを消すことってできる? こんにちは。伊川です。 最近は、ルーティン業務を僕滅する内容を紹介しています。 Excelは、相違工夫でどうにでもなりますね。 今回は、ACCESSの技を少し紹介します。 ACCESSは、布教活動をしないと、どうしてもExcelに負けてしまいます。 そんな時に少しだけ、役立つ、人にやさしい技を少し紹介したいと思います。 ACCESSは、共有すると、フォームを開くときでも、重くなります。 検索フォームの小技について解説します。 このブログはこんな人にお勧め ACCESSで検索フォームを作成したい人 ACCESSでVBAを勉強している人 自分の働いているセクションで、ACCESSを認知してほしい人 このブログを、読み終わるころには・・・・ ACCESSを勉強して、最初に利用するのは、検索フォームを作成することではないでしょうか? カンタンな検索フォームの作成から、利用者への愛情を持った検索フォームの作成を理解することができます。 ACCESSを作成したら検索フォームを作りたくなる これは、当然の帰結ですね。 Excelを利用したらVLOOKUP関数を利用したくなるのと同じです。 VLOOKUP関数も、幅広い意味で言えば、検索ということになります。 Ctrl+Fで、検索することを、Excelでは、否定しません。 しかし、ACCESSでは、N
0
カバー画像

【Excel VBA】変数にIF構文を利用するときってどんなとき?

YouTubeでも紹介しています。是非ご覧ください。VBAは、変数が、利用できるようになると、とても便利になります。 初学者の時は、決まり文句のように記載していました。 今回は、変数にIF構文を設定してみたいと思います。 変数にIF構文を利用するときってどんなとき? こんにちは。伊川です。 前回は、司法書士試験の問題を利用して、シート全体にマクロ実行ボタンを設置しました。 今回も、ルーティン業務を僕滅する内容です。 これも、実務の中で思いついたのですが、余りNETでは見かけません。 見かけないということは、需要がないと思います。 しかし便利なので、利用してみてください。 このブログはこんな人にお勧め Excelで、VBAを勉強している人 IF構文の利用の幅を広げたい人 ルーティン業務を僕滅したい人 このブログを、読み終わるころには・・・・ VBAの初学者頃は、IF構文を勉強すると思います。 プログラムは、条件分岐の繰り返しです。 しかし、IF構文の以外な利用方法が理解できると思います。 IF構文と変数を組合わせるとき 変数は、便利なのですが、 Dim a as string このように、なんの疑問も持たずに記載していたと思います。 つまり、a という文字に、何かを代入するということです。 これが、変数の基本中の基本です。 なので、a=”伊川直助”とすると、aは、伊川直助をとう役割を果たすようになります。 私も、初学者の時は、フーンとしか思っていませんでした。 しかし、実務で、どうしてもやり方が、わからないときに、突然、閃いたことを紹介します。 IF構文と変数を合わせるとき 作業
0
250 件中 1 - 60
有料ブログの投稿方法はこちら