ブックマーク / officetanaka.net (10)

  • Office TANAKA - Excel VBA関数[MsgBox]

    MsgBoxで、どんなときに括弧を使うのかと、メッセージを改行する"改行コード"について、詳しい解説を動画で公開しています。ぜひ、こちらもご覧ください。Youtubeでは、ほかにもたくさんの動画を公開しています。チャンネル登録をお忘れなく! Office TANAKAチャンネル ■VBAのコードで、括弧はどんなときに使うのか 構文 引数promptは必ず指定します、ダイアログボックスに表示するメッセージを指定します。 引数buttonは省略可能です。ダイアログボックスに表示する、ボタンの種類やタイプなどを指定します。 引数titleは省略可能です。ダイアログボックスのタイトルバーに表示する文字列を指定します。 引数helpfileは省略可能です。ダイアログボックスの[ヘルプ]ボタンから開くヘルプファイルを指定します。引数helpfileを指定する場合は、引数contextも必ず指定しなけれ

  • Office TANAKA - Excel VBA Tips[Excel 2007のSortオブジェクト]

    Add2メソッドについて(2019年1月 追記) 2018年10月18日にExcel 2016は機能拡張されて、バージョン1810(ビルド 11001.20074)になりました。このとき実装された機能拡張のひとつに、"新しいデータ型"があります。追加されたのは「株式型」と「地理型」です。両者の型に関しては、下記Microsoftのページをご覧ください。 Excel データ型: 株価と地理 この「株式型」と「地理型」の追加に伴って、セルの並べ替えで条件を指定するSortFieldsコレクションに、新しくAdd2メソッドが追加されました。ちなみに、いままではAddメソッドでした。両者の働きに大きな違いはありませんが、Add2メソッドは、新しい「株式型」と「地理型」のサブフィールドを並べ替えることが可能です。Add2メソッドをヘルプで調べると、次のように記載されています。 この API には、地

  • Office TANAKA - Excel VBA Tips[データが含まれているかどうか判定する]

    一般的なテクニックだと思ってたら、意外と質問が多いので書きます。 セルA1のデータとセルB1のデータが等しいかどうかを判定するには、If Range("A1") = Range("B1")と「=」(等号)で比較できます。では、セルA1のデータがセルB1のデータ内に含まれているかどうかを判定するにはどうしたらいいでしょう。 VBAには、AがB内に存在するかどうか(含まれているかどうか)を判定する命令はありません。しかし、AがB内のどこに存在するかを数値で返す関数ならあります。InStr関数です。 long = InStr([start, ]string1, string2[, compare]) InStr関数は、string1の中で、string2が存在する位置を返します。 InStr("出身は横浜市です","横浜") の場合、「横浜」(strign2)は「出身は横浜市です」(string

  • Office TANAKA - VBAのステートメント[MkDir]

    MkDirステートメント 構文 MkDir pathname pathnameには、新しく作成するフォルダ名を指定します。 解説 新しくフォルダを作成します。 引数pathnameには、ドライブ名や親フォルダ名を指定できます。ドライブ名や親フォルダ名を指定しないと、カレントフォルダに新しいフォルダが作成されます。 サンプル 次の例は、新しいフォルダを作成します。 Sub Sample() MkDir "test" 'カレントフォルダの下にtestフォルダを作成します MkDir "C:\Windows\test" 'C:\Windowsフォルダの下にtestフォルダを作成します End Sub

  • Office TANAKA - FileSystemObject[CreateFolderメソッド]

    【書式】 FileSystemObject.CreateFolder(foldername) 新しいフォルダを作成します。 引数foldernameには、作成するフォルダのパスを指定します。すでに存在しているパスを指定するとエラーになります。パスが存在しているかどうかを調べるには、FolderExistsメソッドを使います。 Sub test5() ''C:\Work\フォルダにSubフォルダを作成します。 Dim FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CreateFolder "C:\Work\Sub" Set FSO = Nothing End Sub CreateFolderメソッドは、指定したフォルダの作成に成功すると、作成したフォルダのパスを文字列で返します。また、すでに存在し

  • Office TANAKA - Excel VBA Tips[日付・時刻を取得するときの落とし穴]

    先日メールで「Date関数の返り値がおかしい」という質問を受けて思い出しました。今回は"役立つテクニック"ではなく、Windowsの設定によって関数の返り値が変わるという"落とし穴"の話です。 VBAで現在の日付を調べるときはDate関数を使います。現在の時刻ならTime関数、日付と時刻を両方同時に調べたいときはNow関数を使います。けっこう基的なテクニックですし、ご存じの方も多いでしょう。たとえば次のような使い方です。 Sub Sample1() Dim buf As String buf = Now & vbCrLf & Date & vbCrLf & Time MsgBox buf End Sub 実行すると次のようになります。 このとき日付はyyyy/mm/dd形式、時刻はH:mm:ss形式のデータが返りますが、この形式は固定されたものではありません。実はWindowsの設定によ

  • Office TANAKA - Excel VBA関数[InStr]

    一般的なVBAでは、文字列がNullになることは少ないので、Null値を返すことはないです。見つかったら1以上の数値を返し、見つからなかったら0を返す、と覚えておけばいいでしょう。 サンプル 次の例は、「ABCDE」の中から「D」を検索してその位置を表示します。 Sub Sample1() Dim String1 As String, String2 As String String1 = "ABCDE" String2 = "D" MsgBox InStr(String1, String2) End Sub 所見 InStr関数は、とても役に立つ関数です。ただし、単独で使うことは希でしょう。上記サンプルのように、ただ文字の位置を調べて終わるという作業は、実務ではほとんどありません。文字の位置を調べて、それを元に次の処理を行うのが一般的です。たとえば、セルに「田中 亨」のようなデータが入力

  • Office TANAKA - 変数の使い方[型は覚えなくていい]

    よく使う型 最もよく使われる型は、なんといっても長整数型(Long)と文字列型(String)でしょう。整数を格納する型は、長整数型(Long)のほかにInteger(整数型)もありますが、Integer(整数型)は最大で32,767までしか入りませんから、特別な事情がある場合を除いて、整数を入れる変数は長整数型(Long)で宣言すればいいでしょう。また、たとえば月を表す数値(1~12)のように、非常に小さい整数を格納する変数としてバイト型(Byte)を使っているケースをときおり見かけますが、これは相応しくありません。バイト型(Byte)は、バイナリデータという特別な値を格納するために用意された型です。もちろん、単純な数値を格納することも可能ですが、すごく変です。 整数を入れる変数 → 長整数型(Long) 文字列を入れる変数 → 文字列型(String) と覚えておきましょう。ほとんどの

    Office TANAKA - 変数の使い方[型は覚えなくていい]
  • Office TANAKA - Excelコンテンツ

    Excelコンテンツ Home Excel セミナーとイベント VBA 機能と数式 Excel 2016レビュー Excel 2010レビュー Excel 2007レビュー MacExcel 2016レビュー 現在執筆中です…しばらくお待ちください。

  • Office TANAKA - VBA Tips

    VBAコンテンツ Home Excel VBA Excel VBA Tips セル セルが選択されているか判定する アクティブでないシートのアクティブセル 結合セルを調べる 簡単に罫線を引く セルのValue2プロパティ あるセルがセル範囲に含まれるかどうか セル範囲の操作 確実に選択されているセルを操作する 入力されているデータの最終セルを取得する 複数のセルを選択する 特定のセル範囲内を検索する 非表示のセルを検索する すべて検索する 日付を検索する 1と001の問題 Range(左上セル, 右下セル)の使い方 セルの罫線に関すること new オートフィルタ 書き方の基 文字列で絞り込む 数値で絞り込む 日付で絞り込む 色で絞り込む 作業列で絞り込む 絞り込んだ結果をコピーする 絞り込んだ結果を集計する 絞り込んだ結果の行を操作する オートフィルタの状況を判定する 数式のエラーで絞り

  • 1