Excel

重複のないリストを作成する。

AutoHotKeyでデータベースっぽいものを作るにあたって、 VBAとの機能や関数の違いで、できないことを減らしておきたくて テストしやすいVBAで試して、調べてを繰り返してみた。やりたいことは「1,重複のないリストの作成」「2、集計」の二点ExcelVBAので…

AdvancedFilterの引数「CopyToRange」の書き方について。

ExcelVBAのAdvancedFilterの引数の書き方についてテストしたので結果をメモメモいままで何度か失敗していて、今回もテストしてみてうまくいかなかった例 ちなみに2列をAdvancedFilterにかけて、結果も2列分出力(FilterCopy) その他、AdvancedFilterはシー…

配列Splitのテスト

カンマ区切り文字列を、カンマ分割して配列に格納して セルに書き出す。 のサンプル。 Const L As String = "Mu,Jirushi,Ryo,Hin" Dim C As Variant Dim dd As Double 'マイナスになる可能性があったので、よくわからないがDoubleを指定Longでもいいのか? S…

ユーザーフォームのラベルに配列の要素を表示(転記)する。

30ほどの要素の配列を、ユーザーフォームに作った、Label1〜Label30に表示させるのに、まさかと思って、For i = 1 to 30 Labeli=配列変数(i) Next iとかやったら、やっぱりエラー。仕方なく、 Label1.caption=配列変数(1) ・・ ・・ Label30.caption=配列変…

[Excel]セルの範囲をユーザーフォームに表示できるか

セルの範囲をユーザーフォームに表示できるかな。と思って、調べてみたら。できるらしい。ListBoxをつくって、そこに「RowSource」か「List」プロパティを使って 範囲を表示させることができる。RowSourceは"Sheet1!A1:B2"という風に設定。 Listの方は、Vari…

配列もしかして

もしかして、配列が扱えて 値の検索ができて ループができて テキストファイルが読み込める。 ということができたら、ちょっとしたデータベースは出来るんじゃないのかな? やろうと思ったらAutoHotKeyでもExcelVBAでもできるのでは?

Excelにだって風流を

毎日データを加工してプリントアウトするものが3枚ある。AutoHotKeyのTrayTipで風流を感じるシステムが心地良いので、Excelにもそれを導入した。PageSetUpの左フッターに有名な短歌を入れることにした。リストは別のExcelファイルに作っておいて毎回シートを…

ファイルオープンのマクロについて

ファイルオープンのダイアログを表示して、 ファイルを選んで、開く で、それを変数(As Workbook)に格納 MsgBox "取り込むファイルを指定してください。" '←これは必要ないけれど一応入れている OpenFileName = Application.GetOpenFilename("ここに書いた内…

R1C1形式の書き方(メモ)

R1C1形式の書き方 R3C4 →=Cells(3,4) 絶対参照 R3C →=Cells(3,任意) 行のみ指定。 列は書き込むセルに拠る。 R[1]C[-3] → 相対参照 一つ下、三つ左のセル

IMEステータス判断について

今よく考えると、それは単に"IMEStatus=8"とすればよかった。 でも、SendKeysを使いたくてこうしたのかもしれない If IMEStatus = 4 Then SendKeys ("{kanji}") これは、日本語入力モードの時に、あるフォームを表示させた時に そのフォームがSendkeyを受け…

FIND検索について

検索はFINDを使う事が多くなった。Foundcellはバリアント型で変数宣言しておく どうしてバリアント型なのかはよく知らないが、そんな僕でも 使えるような環境にあるのがEXCEL VBAのいいところだと思う。Set Foundcell = SH5.Range("A2:B200").Find(mrk) j = …

検索条件の作成について(Dsumに備えて)

おおまかな方針・・・ユニークリスト作成し一つ一つ集計1、すべてのデータから、ユニークリストを作り出すためにAdvancedFilterでシートの空いているスペースにある列についての 重複のないリストを作り出す。(先頭行もUnique=Trueでついてくる)2、その他…

日次のデータから処理年月(yyyy/mm/dd)を取り出す準備。

月次の入出庫データの中にある日付データの最大値を取ろうとしたもの。 当初、MAXでやっていたがうまくいかずSubtotalを使った。 この後、フォーマット関数を使って、(yyyy/mm)に変換 hiduke=Application.WorksheetFunction. _ Subtotal(4, Range("B2:B18"))…

日付の取り扱い(フォーマット関数)

nengetsu = Format(hiduke, "yyyy/mm") ! →修正 nengetsu = Format(hiduke, "yyyymm")これで「2010/09/25」みたいなデータを「201009」に変換できる。シリアル値を格納した(as Date) [hiduke]という変数から処理年月を抜き出したもの フォーマット関数という…

いくつかの項目で集計する方針

やっとできてきた、集計の方法。AdvancedFilterで、検索条件のリ ストを作り出して、 それにそってDsum関数を利用する方法。 これで、集計のマクロを作る事に対する感情の壁が少し下がった。日次のデータを月次にするとか、 全ての顧客分のデータをマーク毎…