タグ

2017年1月6日のブックマーク (7件)

  • VBAのIf Then Elseステートメント | ExcelのVBA入門

    条件式が数式のIf文サンプルコード Sub sample() Dim a As Integer a = 10 If a > 5 Then MsgBox "変数aは5より大きい" Else MsgBox "変数aは5より小さい" End If End Sub 実行結果解説sampleのSubステートメントには引数の設定はされていません。まず、Dimステートメントを利用して変数aに整数型(Integer)を宣言し「10」を代入します。次にIf文の条件式を確認すると比較演算子を利用して「変数aが5より大きい」場合に真(True)を返す設定にしています。 今回は変数aに「10」を代入しており条件式に当てはまるため、If以下の「MsgBox "変数aは5より大きい"」が実行されました。最後はEndステートメントを利用してsampleプロシージャを終了させます。 こちらでは、条件式が真(True)で処

  • VBAの演算子とは | ExcelのVBA入門

    前回は、定数や定数の有効範囲について解説しました。複雑なプログラムほど多くの変数を利用します。規模が大きければ大きいほどバグも多数発生しますので、バグをなるべく少なくするためにも値を変える必要のない変数は定数として設定するようにしましょう。今回は、エクセルVBAの演算子について解説します。 目次演算子とは算術演算子とは比較演算子とはLike演算子Is演算子論理演算子とは代入演算子とは文字列連結演算子とは+(プラス)演算子の解釈演算の優先順位()かっこの使い方まとめ 演算とは、変数や定数に値を代入したり、数値同士で計算を行ったりすることで、演算子(えんざんし)とは、演算で利用される計算を表す記号のことを指します。具体的に「+」「-」「×」「÷」のように計算する際に利用される記号のことを言います。掛算、割算の場合に利用する「×」「÷」はVBAなどプログラミングでは「*」「/」を利用します。演算

  • Array配列の末尾に追加したい。 - OKWAVE

    あとで追加する。という事でしょうか? だったら、普通に配列の数を増やして、そこに値を代入すればいいと思います。 手順は (1)UBound で配列の最大を取得してカウントを1加算する。 (2)求めたカウントで ReDim する。そのとき Preserve を使い配列の値の初期化を止める。 (3)配列に値を代入する。 という具合です。 ヘルプで UBound、ReDim を調べればすぐコーディングできると思います。 できなかったら↓↓参考にしてください。 Private Sub Command1_Click() Dim MyString As Variant Dim lCnt As Long MyString = Array("0です", "1です", "2です") lCnt = UBound(MyString) + 1 ReDim Preserve MyString(lCnt) MyStr

    Array配列の末尾に追加したい。 - OKWAVE
  • Office TANAKA - セルの操作[セルの検索]

    何はなくともFindメソッド 下のようなデータを例に、セルの検索を解説します。 いつものように、まずマクロ記録してみましょう。次のコードは、このリストで「土屋」を検索した操作を記録しました。 Sub Macro1() Cells.Find(What:="土屋", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ , MatchByte:=False, SearchFormat:=False).Activate End Sub こりゃまた、ややこしいコードが記録されました。順を追って解説しましょう。ワークシート上でセルを検索するには、Findステートメントを使います。Findステートメントの構文

  • Office TANAKA - Excel VBA関数[MsgBox]

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

  • 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関数です。文字列の左端を抜き出

  • VBAで文字列と日付を比較するには-CDate関数:エクセルマクロ・Excel VBAの使い方/VBA関数

    vba if 文字列とdateをイコールにするには」 という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。 文字列と、Date関数で返される今日の日付を比較する方法、同じかどうかを調べるVBA(Visual Basic for Applications)のコードを探している方による検索でしょうか。 例えば、2014年8月28日(平成26年8月28日)に、以下のようなマクロを実行した場合、 Sub 文字列と日付を比較する_0() Const STR_DATE As String = "平成26年8月28日" If STR_DATE = Date Then MsgBox "今日です" Else MsgBox "今日ではありません" End If End Sub メッセージボックスには「今日ではありません」と表示されてしまいます。 文字列としての「平成26年8月28日」