空腹おやじのログと備忘録

VBA(主にExcel)でいろいろな実験的な事とか、Linuxのコマンドとか設定とかについて忘れないように、あれこれと・・・

2019-04-01から1ヶ月間の記事一覧

【VBA】割り算を使わないで、数値の2進数表示を取得する(負値対応済み)

最初に断っておきますが、この記事は半分ネタです。 あえて、面倒くさいことしてます。 私がやりたかっただけです。基本に則って2進表示を求めたい方は、 ググる WorksheetFunction.Dec2Bin とか、して下さい。但し、10進数の2進数表示した文字列を取得す…

【VBA】For ループの罠(?)

次のコードを実行するとどうなると思いますか? Public Sub foo() Dim i As Long For i = &H7FFFFFFE To &H7FFFFFFF Debug.Print i Next i End Sub もうひとつ Public Sub bar() Dim i As Long i = &H7FFFFFFE Do Debug.Print i i = i + 1 Loop Until i > &H…

VBAのDictionary の Key について実験してみた

VBAのDictionaryのKeyには、数値、文字(数字を含む)、オブジェクト等が使えます。 そんな中で、ちょっと気になったことがあったので、実験してみました。 データ型が異なる同一値の数値を指定してみる 「データ型が異なる別々の値」をKeyとしてDictionary…

VBAの$付きの文字列関数

VBA

VBAの文字列関数には$付きの物がありますが、ネットで見るコードではほとんど見かけません。Microsoftのサイトで関数を検索しても、出てくるのは$なしばかり。何が違うのと言われれば、 VBA の文字列関数の中には 2 種類のバリエーションを持つものがありま…

VBAで、エンディアンの変換をやろうとしたら、やっぱりハマった

Windowsを使っていると、ソケット通信のコーディングでもしない限り、ほとんど意識する事がないであろうビッグエンディアンとリトルエンディアンに関する事です。まず、「エンディアンって何それ美味しいの?」って人は、こちらをどうぞ。 ja.wikipedia.org…

ExcelのAutoFilterの抽出条件には、配列が指定できる・・・でも、ちょっと注意しないといけない事もある

AutoFilterの抽出条件に配列が使用できるとの事で、試してみた際にハマったので・・・こんなデータを用意。 まずは、1件抽出するコード。こんな感じ? Public Sub doAutoFilter() Dim r As Range Set r = ThisWorkbook.Worksheets("Sheet1").Range("A1").Cu…

VBAでFindFirstFile、FindNextFileを使ってファイルリストを取得する

2022/10/20 追記 この記事のコードを FindFirstFileW を使って Unicode 対応した記事がありますので、そちらも ご覧ください。 z1000s.hatenablog.com ことりちゅんさん(id:Kotori-ChunChun)のところで、FileSystemObjectとDirを使って、ファイルパスの一…

Excelのワークシート名取得 ADOでOpenSchema と Workbooks.Open を比べてみた

ADOというとデータベースに使うというイメージが強いような感じがしますが、Excelに対しても使えます。Excelのワークブックを指定して、ワークシート名の一覧取得を、ADOの使用有無で行ってみます。 使用環境 Windows 10 Home Excel 2013 CPU:古い(恥ずか…