VBA

Excelでセル範囲を指定して文字列結合

VBA

こんな動きをしてくれるユーザー定義関数 merge を作りました。サンプルのファイルです(´・ω・`)つ『merge関数.xls - Google ドライブ』 ダウンロードボタンがあるので、そこからダウンロードできます。用途としては concatenate が面倒だ(´;ω;`)ブワッ っ…

面白かったサイト

VBA

EXCEL-VBA開発講座- Excel VBA - Decorator パターンモデル

VBA グラフ イベント

VBA

グラフの中にプロットされたデータをクリックするとイベントが発動して、 クリックしたデータの値を取得するサンプルコードです。 画面上の "Download" のリンクをクリックして落としてください。 Book1.xlsm - Google ドライブ Step1. イベントを作成します…

CreateObject("InternetExplorer.Application") 『オートメーションエラーです。 エラーを特定できません』

VBA

○ 改善策 ie.Quit (IEのアプリケーションを消すメソッド)を呼ぶ ○ 改善前 Dim ie As Object: Set ie = CreateObject("InternetExplorer.Application") ' IE を起動 ie.Visible = False Call ie.Navigate("http://localhost") ' URL にアクセス Do While ie.B…

collection オブジェクト 『このキーは既にコレクション内の要素に関連付けられています。』

VBA

原因: 同じ key に対して2回 Add しようと発生。 Call myCollection.Add(1234, "key") Call myCollection.Add(5678, "key") 自分の場合、1度実行が終わった後に、再度実行させたところ、登録してない段階であるにも関わらずこのエラーが発生した。キャッシ…

collection オブジェクト 『オブジェクト変数または With ブロック変数が設定されていません。』

VBA

原因: オブジェクトを生成してないのに Add しようとしたから アウトな例 function myCollection() as collection myCollection.Add(100,"coffe") end function OKな例(new して set する。) function myCollection() as collection dim newCollection a…

VBA日記(´・ω・`)

VBA

VBA の LONG 型の扱える桁数 ユーザー定義関数が、#VALUEエラーを返してきた。最大で 2,147,483,647 と言うと bit 換算で高々2Gbitの計算しかできない様子。Excel の本体関数なら 2Gbit 以上の数も #VALUE エラーを返してこなかった。Debug.Print でも問題な…

Mac で文字列比較、StrComp が動作しない。

VBA

Mac 版の Excel の、というか VBA の文字列比較が良くない。OS の言語設定を英語にしてるのがいけないのかな。 VBA String compare in Mac | HotIce 図. 自分の症状仕方なく、文字列比較する関数を自作する。 Function myStrComp(ByVal s1 As String, ByVal …

Excel VBA その名前は無効です。

VBA

自分が定義した関数(ユーザ定義関数)が、こんなエラーではじかれた場合は、Function ではなく Sub を指定している可能性があります。

セルの範囲を選択して文字列を結合する関数 Google Apread Sheet

VBA

セルの範囲を選択して文字列で結合する関数 merge を作りました。スクリプトを登録すれば、誰でも使えるようになります。CONCATENATE とか &(アンド) で、ひたすら結合するのは面倒ですからね。大量にコマンド投入が必要なとき、たとえば試験環境でサンプ…

Visual Basic 6.0 (VB6) のダウンロードについて

VBA

location.href="https://python.ms/sub/misc/vb6/" Visual Studio 6.0 のダウンロード方法について、調べたことをまとめています。なお、Visual Basic 6.0 は、プログラミング言語で、Visual Studio 6.0 は、Visual Basic 6.0 でプログラムを書くのに必要な…

VBAでシートの大量コピー

VBA

VBAでシートを大量にコピーする場合は、下記の方法を勧めます。 Step1. つぎのサブプロシージャを定義する。 たくさんコピーしたいMicrosoft Excel オブジェクトの中で、 つぎのサブプロシージャを定義してあげます。 Microsoft Excel オブジェクト Sheet1 O…

列数の定数宣言の自動生成、自動変更

VBA

Excel で横に長い表、つまり大量に列があるファイルを扱う際に 次のことがとても面倒になります。列の修正がはいった時に列数を修正することこれを改善するために 列挙型の定数を自動生成するプロシージャを作ってみました。 例えば、下記のような表があった…

VBA で RmDir でフォルダが削除できない「ほかの人またはプログラムによって使用されています」「パス名が無効です」

VBA

「ほかの人またはプログラムによって使用されています」とか 「パス名が無効です」などとエラーが表示され、 削除することができ無い時の対処法です。 結構泣かされました(´;ω;`)ブワッ 原因 1. Dir 関数がファイルへのアクセスを保持している場合 いくつか …