VBAとExcelに関するmttn612のブックマーク (68)

  • Excel VBA セルに罫線を設定する

    セルに罫線【けいせん】を設定する方法VBAで罫線を扱うには、Border【ボーダー】オブジェクトが持つ各種のプロパティで線のスタイルや太さ、色などを設定します。 また、Range【レンジ】オブジェクトのBorderaround【ボダーアラウンド】メソッドを使用すると セル範囲の外枠の線の種類や太さ、色を一度に設定できます。 Borders【ボーダーズ】プロパティセルの上下左右、斜めに設定されている罫線を表すBorder【ボーダー】オブジェクトを取得するには、Range【レンジ】オブジェクトのBorders【ボーダーズ】プロパティを使用します。 Border【ボーダー】オブジェクトを取得するには、Borders【ボーダーズ】プロパティで対象となる罫線の位置を引数で参照する必要があります。Borders【ボーダーズ】プロパティで引数を省略した場合は

    mttn612
    mttn612 2018/12/14
    “BorderAround”
  • Excel VBA Dictionary - 中村峻 - Google ブックス

    mttn612
    mttn612 2018/12/14
    Excel VBA辞典 2010著
  • Excel VBA セルの文字列の書式設定をする Fontオブジェクト

    Name【ネーム】プロパティフォント名を取得または設定をするには、セルの書式設定を表すFont【フォント】オブジェクトの Name【ネーム】プロパティを使用します。 Name【ネーム】プロパティの書式と設定値の説明【取得】 オブジェクト.Name 【戻り値】文字列型(String) 【設定】 オブジェクト.Name = 設定値 オブジェクト Range【レンジ】オブジェクトのFont【フォント】プロパティで取得した、Font【フォント】オブジェクトを指定します。設定値 フォント名を表す文字列を設定します。「セルの書式設定」ダイアログボックスの「フォント」タブにある「フォント名」の一覧にあるフォント名を指定します。半角や全角の違いやスペースなども正確に指定しないと正しく設定できません。 A1セルから始まるデータ範囲のフォントをHG丸ゴシックM-PROに設定するコード例Sub フォント設定

  • エクセルVBAでシートの列の挿入も簡単に対応できちゃう列挙体の使い方 | 隣IT

    で取り出すことができます。 例えば、前述のEnumステートメントによるeDataの定義をした上で Sub 列挙体の表示() Debug.Print eData.納品日 Debug.Print eData.取引先名 Debug.Print eData.品目 Debug.Print eData.単価 Debug.Print eData.数量 Debug.Print eData.価格 End Sub こんなプロシージャを実行すると こんなふうに出力されるわけですね。 シートの列を列挙体として定義する もうおわかりですよね。 列挙体の各メンバーに列番号を割り当てておくんです。 先ほどの列挙体eDataを定義しておき、冒頭のプログラムの一部を strClient = wsData.Cells(i, eData.取引先名).Value '現在の行のクライアント名を取得 dayData = wsData

    エクセルVBAでシートの列の挿入も簡単に対応できちゃう列挙体の使い方 | 隣IT
  • VBA Excel 列挙体の一覧|VBAリファレンス

    公開日:2013年5月以前 最終更新日:2022-12-04 VBA Excel 列挙体の一覧 Visual Basic の Excel列挙体の一覧です。

    VBA Excel 列挙体の一覧|VBAリファレンス
    mttn612
    mttn612 2018/12/13
    xlShiftToRightとxlToRightの差(どちらかは後から専門的な機能として追加されたなどで、値は同一なので同じ役割を持っている)
  • セルの表示形式の書式記号 | Excel作業をVBAで効率化

    NumberFormatプロパティやNumberFormatLocalプロパティでセルの表示形式を設定する際に使う書式記号には多くの種類があります。 それらの書式記号を整理します。 セミコロンの意味 書式にはセミコロン(;)を使ったものがあります。 「#,##0;-#,##0;”-“;@」 セミコロンは数値の書式の場合にのみ使用します。 左から、「正数;負数;ゼロ値;文字列」になります。正数、負数、ゼロ値、文字列のいずれも省略可能です。 例えば、2番目の負数と3番目のゼロ値を省略して、1番目の正数と4番目の文字列を設定する場合は、「正数;;;文字列」の書式形式として「#,##0;;;@」のように書きます。 この場合は、書式が設定されていない負数とゼロ値を入力しても入力値は残ったままですがセルには何も表示されません。 数値の書式記号 数値の書式では [ # 0 , . % ? ] の6つの文

    セルの表示形式の書式記号 | Excel作業をVBAで効率化
  • Excel VBA セルの文字の配置

    HorizontalAlignment【ホリゾンタルアライメント】プロパティセル内の文字の横方向の配置を取得または設定するには、Range【レンジ】オブジェクトのHorizontalAlignment【ホリゾンタルアライメント】プロパティを使用します。 HorizontalAlignment【ホリゾンタルアライメント】プロパティの書式と設定値の説明【取得】 オブジェクト.HorizontalAlignment 【設定】 オブジェクト.HorizontalAlignment = 設定値

  • Excel VBA セルの表示形式を設定するNumberFormatLocalプロパティ

    セルに表示形式を設定する方法セルに入力されているデータの表示形式は、「セルの書式設定」ダイアログボックスの「表示形式」タブで設定します。 VBAで表示形式を変更するには、Range【レンジ】オブジェクトのNumberFormatLocal【ナンバーフォーマットローカル】プロパティを使用します。 NumberFormatLocal【ナンバーフォーマットローカル】プロパティ指定したセルの表示形式を取得または、設定するには、Range【レンジ】オブジェクトのNumberFormatLocal【ナンバーフォーマットローカル】プロパティを使用します。 NumberFormatLocal【ナンバーフォーマットローカル】プロパティの書式と設定値【取得】 オブジェクト.NumberFormatLocal 【戻り値】バリアント型 (Variant) 【設定】 オブジェクト.NumberForma

  • Excel VBA 空白セルの全体行を削除する

    データ内で空白セルが含まれる行全体を削除する方法データ内で空白セルがあった場合その空白セルを含む全体行を削除したい場合があります。つまり、一つのデータ固まりを表すレコード内に空白セルがあった場合にそのレコードを削除する方法について解説します。 方法としては、データ範囲を参照するRange【レンジ】オブジェクトのCurrentRegion【カレントリージョン】プロパティでデータ範囲を参照し、特定のセルを参照するRange【レンジ】オブジェクトのSpecialCells【スペシャルセルズ】メソッドを使用して「空白セル」を参照し、参照したセル範囲の行全体を参照するRange【レンジ】オブジェクトのEntireRow【エンタイヤロウ】プロパティを使用して参照した空白セルが含まれる行全体を参照して、Range【レンジ】オブジェクトのDelete【デリイト】メソッドで参照されている行全

  • Excel VBA 列を挿入する 削除する

    VBAで列を挿入する場合はセルを表すRange【レンジ】オブジェクトのInsert【インサート】メソッドを使用します。Insert【インサート】メソッドは指定したセル範囲にセルを挿入するメソッドです。列を挿入する場合は挿入する場所にあるセルの移動方向を設定する引数Shift【シフト】に右方向にシフトする定数を指定します。また、Columns【カラムスス】プロパティやEntireColumn【エンタイヤカラム】プロパティを使用して指定の列全体を参照し、Insert【インサート】メソッドを使用すると列全体が挿入されます。 Insert【インサート】メソッドInsert【インサート】メソッドの書式と設定値(引数)の説明[]内は省略可能です。 オブジェクト.Insert[(Shift,CopyOrigin)] オブジェクト 列を表すプロパティで参照した行やセル範囲をRange【レンジ】オブジェ

  • Excel VBA シートを操作する

    シートを参照するプロパティExcel2007からのシートは、ワークシートとグラフシートの2種類があります。Worksheets【ワークシーツ】プロパティは、ワークシートを参照でき、Charts【チャーツ】プロパティは、グラフシートを参照できます。その他にVBAでは、シートの種類を問わずに参照できるSheets【シーツ】プロパティがあります。 Sheets【シーツ】コレクションとは同じ種類のオブジェクトの集まりを「コレクション」といいます。Worksheet【ワークシート】の集まりは、Worksheets【ワークシーツ】コレクション、グラフシートの集まりは、Charts【チャーツ】コレクションすべてのシートの集まりは、Sheets【シーツ】コレクションになります。 Sheetsコレクション概略図 Worksheets.Addメソッド新規ワークシートを追加するには、Worksheetsコレクシ

  • Excel VBA 別シートのセルを選択する

    アクティブシートではないワークシートのセルを、セルを表すRange【レンジ】オブジェクトの Select【セレクト】メソッドで選択するとエラーが発生します。 sheet1がアクティブでsheet2のA1セルを選択したコードSub セル選択1() Worksheets("sheet2").Range("A1").Select End Sub 実行結果 エラーの原因は、セルをSelect【セレクト】メソッドで選択する場合やセルをActivate【アクティベイト】メソットでアクティブにする場合は、「アクティブシートのセル」しか操作できないからです。したがって、このケースの場合はsheet2をアクティブにしてからA1セルを選択する必要があります。 選択できる場合Sub セル選択2() Worksheets("sheet2").Activate Range("A1").Select End Su

  • エクセルパズル:DEC2BINを使わずに2進数に変換 - Koonies/こりゃいいな!

    今日、10進数→2進数変換を2進変換関数のDEC2BINを使わずに1つのセルだけで計算する方法を思いつき、早速書いてみました。 最初に書いた式はコチラです↓ =IF(A1>32768,#NUM!,SUM(IF(MOD(A1,2^ROW(A1:A16))>=2^(ROW(A1:A16)-1),1,0)*10^(ROW(A1:A16)-1))) セルA1に32768以下の値を入力し セルB1に上記の式を貼り付けて「Ctrl+Enter」で決定、セルの書式設定→表示形式を数値(桁数0)でOKを押して下さい。 これでA1の2進化された値が表示されるようになると思います。 これは配列数式ってやつを使っています。 DEC2BINで充分だろとも思いますが一応良いとこを探すとしたら、DEC2BINでは512以上の値を入力すると#NUM!とエラーになりますが、これなら32768まで表示可能です。 =IF(A

    エクセルパズル:DEC2BINを使わずに2進数に変換 - Koonies/こりゃいいな!
  • Excel マクロ オブジェクトとプロパティ、メソッド~Excel 2013 マクロ講座

    Excel 2013 マクロ講座8回オブジェクトとプロバティ、メソッド オブジェクトとプロバティ、メソッドって何 今回は、オブジェクトとプロバティ、メソッドについて説明します。 (サンプルファイルは、こちらから 2013マクロ講座8回サンプルデータ) Visual Basic Editorをショートカットキーから表示する Visual Basic Editorを開くために、マクロの表示ウィンドウを表示します。 ショートカットキーか、クイックアクセスツールバーに登録したボタンから起動します。 Visual Basic Editorが表示されました。左側の画面上部は、プロジェクトエクスプローラーです。Excelで開いているブックやマクロを管理します。 左下は、プロパティウィンドウで、選択したオブジェクトに設定されているプロパティを表示します。

    Excel マクロ オブジェクトとプロパティ、メソッド~Excel 2013 マクロ講座
  • Office TANAKA - Excel VBA Tips[実は奥が深いInputBox]

    マクロ実行中にユーザーから文字列や数値を受け取るとき、最も簡単な方法のひとつはInputBoxを使うことです。次のコードは、ユーザーに名前を入力してもらい、入力された文字列をセルA1に書き込みます。 Sub Sample1() Dim buf As String buf = InputBox("名前を入力してください") Range("A1") = buf End Sub 特に難しいテクニックでもなく、ややもするとVBAの解説でさえ紹介されないこともある基ワザですが、実はこのInputBoxは意外と奥が深いんです。 InputBoxは2つある まず衝撃的な事実からお話ししましょう。Excel VBAで使えるInputBoxには次の2種類があります。 InputBox関数 ApplicationオブジェクトのInputBoxメソッド ひとつはInputBox関数です。文字列の左端を抜き出

  • InputBoxメソッド

    InputBox関数との相違点 Application.InputBox は InputBox 関数と同様、マクロ実行中にユーザーからのデータ入力を受け付けるダイアログボックスです。 InputBox 関数との主な違いは入力データタイプを指定する引数 Type が指定可能になっているところです。また、ダイアログボックス上のボタン配置なども若干異なります。 InputBox関数、InputBoxメソッドの主な相違点 相違点 InputBox関数 InputBoxメソッド

    InputBoxメソッド
  • Excel VBA InputBoxをうまく使おう

    InputBOx画面表示の違い(Excel2016の表示例)InputBox関数の場合 InputBoxメソッドの場合 コード表記の違い上記の表示例のコードInputBox関数の場合Sub sample1() Dim 名前 As String 名前 = Inputbox("お名前を入力してください。") End Sub InputBoxメソッドの場合Sub sample2() Dim 名前 As String 名前 = Application.Inputbox("お名前を入力してください。") End Sub InputBoxメソッドを利用する場合はApplication【アプリケーション】オブジェクトを記述します。InputBoxの前に記述がない場合は、InputBox関数になります。戻り値を受け取るので引数は「()」カッコで囲みます。 InputBox関数メッセージテキストとデータを

    mttn612
    mttn612 2018/10/25
    “InputBoxメソッド”
  • Office TANAKA - Excel VBA関数[MsgBox]

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

  • Excel VBA MsgBox関数

    MsgBox【メッセージボックス】関数MsgBox【メッセージボックス】関数は、警告や注意などのアイコン「はい」や「OK」ボタンなどを表示したメッセージを表示します。 クリックしたボタンによって一定の戻り値が返るため、戻り値を使って条件分岐をして処理を振り分けることができます。 MsgBox【メッセージボックス】関数の書式と設定値(引数)の説明[]内は省略可能です。 MsgBox( Prompt[, Buttons, Title, Helpfile, Context ]) Prompt【プロンプト】(必須) ダイアログボックスに表示するメッセージとなる文字列を指定します。Buttons【ボタンズ】(省略可) 定数を使用して「ボタンの種類」「アイコンの種類」「メッセージボックスの状態」などを指定します。 複数の定数を指定する場合は算術演算子のプラス「+」を使用して定数を加

  • MsgBox関数の使い方(2) - ユーザーが選択したボタンの処理:Excel VBA|即効テクニック|Excel VBAを学ぶならmoug

    MsgBox関数の使い方(2) - ユーザーが選択したボタンの処理 (Excel 97/2000/2002/2003/2007/2010/2013/2016) 「MsgBox関数の使い方(1) -メッセージボックスの表示方法」では、メッセージの改行、ボタンやアイコンの指定など、いろいろな表示方法をご紹介しました。 いろいろなボタンを表示できたら、今度はユーザーがどのボタンをクリックしたか、その結果を知りたいところです。 ここでは、ユーザーが選択したボタンを判定する方法をご紹介します。 MsgBox関数はユーザーがどのボタンをクリックしたかを数値で返します。 選んだボタンによって処理を行うには、この戻り値を利用します。 「MsgBox関数の使い方(1)」では、引数をカッコで囲まずに利用してきましたが、関数の戻り値を利用するときは、引数をカッコで囲むのがVBAの基ルールです。 次のコードは、