タグ

VBAに関するactive_psのブックマーク (15)

  • バーコード コントロールのプロパティ

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。

    バーコード コントロールのプロパティ
  • Creating a flexible VBA conversion of TextToColumns

    active_ps
    active_ps 2023/02/08
    引数FieldInfoに与えるArrayを作る関数
  • VBAの参照渡し(ByRef)と値渡し(ByVal)の違い | Excel作業をVBAで効率化

    参照渡しと値渡しの違い 参照渡しと値渡しを簡単におさらいすると、関数の引数につけるキーワードのByRefとByValのことを指し、ByRefを付けるか省略した場合は参照渡しの引数として扱い、ByValを付けた場合は値渡しの引数になります。 で、題の参照渡しと値渡しの違いですが、関数(プロシージャ、メソッド)の中で変更した引数の「値」を呼び出し元に引き継がれるかどうか、という点です。 参照渡し(ByRef)の場合は関数内部で変数に加えた変更が呼び出し元でも引き継がれますが、値渡し(ByVal)の場合は引き継がれず、関数を呼び出したときの値のままです。 ただ、引数がプリミティブ型とオブジェクト型でByValを付けたときの挙動が変わるため注意が必要です。 このページでは特にその注意点について記述しています。 構文 プロシージャの構文は以下になります。 Sub プロシージャ名([ByRef(省略

    VBAの参照渡し(ByRef)と値渡し(ByVal)の違い | Excel作業をVBAで効率化
  • vbaでセルに同じ文字を再入力したい。 - セルA1からA20(毎月データ量が異なり、終りのセルは毎回変わる)にそれぞれさまざまな数... - Yahoo!知恵袋

    ご質問を 客観的にシンプルに見ると(=状況がわからない第三者が何の先入観もなしに見ると) ズバリ,「すごく変な質問!」だと思いませんか? おそらく理解不能だと思います。 例えば, 単純に考えると次のように見えます。 「セルA1 を選択したら セルA1 を選択状態にして セルA1 の値を セルA1 の値にしたい!」 ↑わっけわからん じゃないですか? ========= 上のように考えても「わっけわからん!」状態なので 私が,私なりに,状況を推測してみました。 もし,以下の状況の推測が間違っていれば, この回答は無かったことにしてください。 おそらく全く役に立ちません。 例えば シート全体のセルの書式設定を「標準」にした上で セルA1 に 1234 と入力し決定すると,それは "数値" として扱われます。 ここまでは良いのですが, 次にその セルA1 なり,その A列 なり,そのシート全体の

    vbaでセルに同じ文字を再入力したい。 - セルA1からA20(毎月データ量が異なり、終りのセルは毎回変わる)にそれぞれさまざまな数... - Yahoo!知恵袋
  • VBA テキストファイルの最も高速な読み込み方法

    Excel、AccessのVBAでのファイル読み込み方法はたくさん有ります。 でも結局どのやり方が一番早いんだ!ってことでいろいろコード書いて計測してみました。 条件 ・約3MBの可変長CSVファイルの全読み込みと一部のコードでは行数取得。 ・処理時刻の計算はVBA 超高精度タイマークラスを使っています ・メモリ処理のRedim preserveは重たい処理ですが、可変長ファイルなのでメモリの一括確保はしませんでした。 ファイルサイズからメモリ容量を計算してメモリを確保するともっと早くなります。メモリマッピングのような処理です。 ・For文で10回同じコードを走らせてます。ですので初回以降はキャッシュが効いて高速になります。 ・時刻の単位は秒です。 ・最終的な文字コードはUnicodeです ・計測用コードは以下の通り Option Explicit Public Function Read

  • Excelで数字(JANコード8桁/13桁)からバーコードを作成する方法!VBAで一括生成も! - エク短|Extan.jp

    Excelで数字(JANコード8桁/13桁)からバーコードを作成するイメージ Excelで数字からバーコードを作成するイメージについて説明をします。 まずは標準機能でExcelのシートから手動でバーコードを挿入していきます。 バーコードを設置できたら手動でバーコードの種類(JANコード8桁/13桁)を変更したり、値を設定したりします。 次にVBAでバーコードを一括で作成していきます。 値をA列に設定し、バーコードのサイズはB列の縦横の幅に自動調整するようにします。 一括でバーコードが作成できると便利ですよね! 早速試してみましょう。 JANコードとは まず、JANコードについて説明をします。 JANコードとは商品管理や流通用として使用されるコードで、一般的にバーコードといったらこのJANコードを指します。 JANはJapanese Article Numberの略称で日国内での呼び方とな

    Excelで数字(JANコード8桁/13桁)からバーコードを作成する方法!VBAで一括生成も! - エク短|Extan.jp
  • 【VBA】配列の格納とセルへ範囲指定して貼り付け【Resizeが便利】

    Excel VBAで、セルの値を配列へ格納する方法と、配列をセルに入力する方法について、ご紹介します。配列にセルの値を格納するのは、セル範囲を指定して変数に入力するとできます。配列をセルに入力する際には、Resizeを使うと便利です。配列を使うとVBAを高速化できますので、マスターしていきましょう。

    【VBA】配列の格納とセルへ範囲指定して貼り付け【Resizeが便利】
    active_ps
    active_ps 2022/06/17
    配列の取り込み、貼り付けの自動範囲指定
  • Excel VBA オートフィルターの挙動を調べた

    使用環境: MS Office Excel 2010 VBAExcel のオートフィルターを操作する方法について調べる機会があったので、その内容をここにまとめておく。 (基的な使い方はぐぐったり Microsoft の公式ページを読んだりすればわかるので、ここではより細かな点について触れる)

    Excel VBA オートフィルターの挙動を調べた
    active_ps
    active_ps 2022/03/03
    オートフィルタの挙動
  • Office TANAKA - VBA高速化テクニック[Line Inputは遅くない]

    私のセミナーを受講された方から質問されました。VBACSVを読み込むときの話です。 CSVを読み込むとき、Line Inputを使っているんですけど、CSVの行数が多いと時間がかかります。ネットで調べたら、Line InputよりQueryTableを使った方が速いって書いてあったんですけど、どうなんでしょう? こうした誤解をしている方がとても多いので、ここに書いておきます。 まず、読み込むCSVをご覧ください。 こんな感じのCSVです。これ100,000行あります。まずはLine Inputで読み込んでみましょう。ここでは、次のコードでやってみます。 Sub Macro1() Dim buf As String, A As Variant, i As Long, j As Long Open "C:\Data\Work\sample.csv" For Input As #1 Do Un

    active_ps
    active_ps 2022/03/03
    CSVファイルの取り込みを速くする
  • NullとEmptyとNothingと空の文字列の違い:Access VBA|即効テクニック|Excel VBAを学ぶならmoug

    NullとEmptyとNothingと空の文字列の違い (Access 97/2000/2002/2003/2007/2010) ツイート VBAでは変数やフィールドに有効な値がない状態や、空の状態を表す値がいくつもあります。 ここでは、それぞれの意味や使用上の注意についてご紹介します。 ■長さ0の文字列("") 文字を1つも含まない文字列 ("") です。 「長さ0の文字列」の名前のとおり、Len関数やLenB関数の引数に指定すると0を返します。 Dim myStr As String myStr = "" Debug.Print Len(myStr) '--> 0 と表示される ■値0の文字列(vbNullString) String型の変数の初期状態を表す値です。vbNullStringという定数で表します。 長さ0の文字列("")と同様に、Len/LenB関数の引数に指定すると 0

    active_ps
    active_ps 2022/02/23
    空文字列
  • Excel VBA Sort(ソート)でデータを並び替えする | やさしいExcelVBA

    今回は「Sort」オブジェクトを使用して、シート上のデータを並び替えする方法をご紹介します。 並び替えは見た目の順番を変えるだけではなく、領を発揮するのは膨大なデータの前処理など、処理時間が長くなってしまう処理なども並び替えを組み込むことで高速化する事も可能なところではないかと思います。 下記で説明する定数はデフォルト値を赤文字にしています。 今回紹介する方法はExcel2007以降で使用できます。 1.Sortオブジェクトで並び替えをする方法 Sortオブジェクトで並び替えする方法は、Excel2007から「SortFieldオブジェクト」で条件を指定して、「Sortオブジェクト」で条件に合わせて並び替えをします。 並び替えは次の手順で行います。 シートに依存するため、シートをアクティブにしないと意図しない並び替えとなります。 シートをアクティブにする並び替え条件をクリア「SortFi

    Excel VBA Sort(ソート)でデータを並び替えする | やさしいExcelVBA
    active_ps
    active_ps 2022/02/08
    Sortオブジェクト
  • 【Excel VBA】日付順に並べ替える(マクロでソート)

    今回は、Sortオブジェクトで設定関係を入れて、Sortメソッドで実行しました。 なんだか無駄にややこしくしてしまった感もあります。。 実際に書いたコード 実際に書いたコードのデフォルメは以下のとおりです。 一部、変数だったところを固定値にしています。 With ActiveSheet ' ソート順設定 With .Sort.SortFields .Clear ' 設定クリア .Add Key:=Range("A1"), _ DataOption:=xlSortTextAsNumbers .Add Key:=Range("B1"), _ DataOption:=xlSortTextAsNumbers End With ' ソート実行 With .Sort .SetRange Range("A1:F50") .Header = xlYes .Orientation = xlTopToBott

    【Excel VBA】日付順に並べ替える(マクロでソート)
    active_ps
    active_ps 2022/02/07
    Range型日付でソート
  • 【ExcelVBA】RangeオブジェクトとRangeプロパティの違い - 和風スパゲティのレシピ

    Rangeオブジェクトと、Rangeプロパティの違いを解説します。 同じところ 違うところ もっと詳しく オブジェクト.プロパティ セルを表すオブジェクト = Rangeオブジェクト Rangeオブジェクトを取得するプロパティたち プロパティって右側なんじゃないの? まとめ おまけ:ひとつ嘘をついてるので訂正します おまけ:題と関係ない嘘 同じところ どちらも「セル」または「セル範囲」を扱います。 違うところ 一言で言ってしまえば、「Rangeオブジェクトを取得する、たくさんあるプロパティの中のひとつがRangeプロパティ」です。 もっと詳しく ↑の説明でわかる人はあまりこのページに来ないと思いますので、 詳しく説明していきます。 知ったからと言ってすぐに実務に活きるような話ではないので、 分からない部分は読み飛ばしながら、気楽に読んでください。 結構難しい話なので、見通しが立てやすいよ

    【ExcelVBA】RangeオブジェクトとRangeプロパティの違い - 和風スパゲティのレシピ
    active_ps
    active_ps 2021/12/07
    Rangeプロパティは万能
  • クリップボードへのコピーが文字化けする対策【ExcelVBA】

    以前まで下記記事のようにClipBoardのDataObjectを使用してコピーしていましたが、 環境によってはコピーして文字化けするようです。(Windows10/64bit/Excel2016で発生) ExcelVBAマクロ「指定したキーワードをクリップボードへコピーする」をパーツ化する 上記記事のPutInClipboardが文字化けを起こす原因のようです。 文字化けする環境でも、コピーする方法はあります。 以下のコードを参考にしてください。 文字化けする端末でもクリップボードへコピーする方法'■指定したキーワードをクリップボードへコピーする(文字化け対策済み) Public Function call_ClipBoardSave(temp As String) With CreateObject("Forms.TextBox.1") .MultiLine = True .text

    クリップボードへのコピーが文字化けする対策【ExcelVBA】
    active_ps
    active_ps 2021/12/03
    >PutInClipboardが文字化けを起こす原因
  • 文字列の指定した一部を取得する(Mid、MidB) | Excel作業をVBAで効率化

    Mid関数とMidB関数は文字列の指定位置から指定文字数の文字列を取得します。 Mid関数とMidB関数の違いは第三引数に指定する値の考え方が異なる点です。第一引数と第二引数の考え方は同じです。 詳細は後述しますが、日語圏のMidB関数はそのままではほとんど使い物になりません。 Shift-JISとしての全角を2バイト、半角を1バイトとして処理したい場合は「VBAでバイト単位でのLenとMidとLeftとRight」にShift-JISの感覚で使えるMid関数を紹介していますので参考にしてください。 MidB関数はバイト単位という説明は間違い MidB関数はバイト数を指定する、という説明が多いですが、日語圏での説明としては不十分です。 実際にはバイト数ではなく、第三引数の文字数には文字数×2を指定することになります。 これはMidB関数がShift-JIS換算のバイト数ではなく、2バイ

    文字列の指定した一部を取得する(Mid、MidB) | Excel作業をVBAで効率化
    active_ps
    active_ps 2021/08/12
    “MidB関数はバイト単位という説明は間違い”
  • 1