VBA開発

ExcelVBAマクロ「エクセルに関わるなぜ?」ちょっとした疑問を解決!

Boolean型のflgをIFで条件分岐するとき If flg then~と記載する理由は?
Boolean型は記載方法を省略する事が可能です。どちらも正解なので、好みでどうぞ。
flgがTrueの場合の処理です。

   '■省略した記載
    If flg Then
  '■省略していない記載
    If flg = True Then

flgがFalseの場合の処理です。どちらも結果は同じです。

   '■省略した記載
    If Not flg Then
   '■省略していない記載
    If flg = false Then 
Findで検索するとき1番左上のセルが検索で引っかからない
検索範囲がA1:A100ならA2から順番に検索し、A100まで検索し終えた後、A1を計算します。
上記の質問の場合、A1に該当しても一番最後の結果で抽出されます。
引数Afterの位置を最終セルにする事で、1番目から検索します。

    '■検索範囲をSet
    Set rng = Range("A1:A20")
    '■A20の次の範囲内のセルから検索=A1から検索
    Set target = rng.Find(what:="あいうえお",After:=Range("A20") LookAt:=xlWhole, LookIn:=xlValues, MatchCase:=True, MatchByte:=True)
                         'After:=Cells(20, 1)といった表記も可能です。

その他関係あるページは以下。

マクロで処理した時にUndoで元に戻せない
仕様です。マクロを実行すると元に戻す処理はクリアされます
CSVファイルを開いて保存したら、次回開いた時にデータがおかしくなってしまった。
「指数表示」「0欠落した電話番号」のままCSVファイルで保存してしまうと、崩れた状態で保存されます
→元のデータには戻りません。
元から文字列で開けばOKです。下記ページ参考にしてください。
ExcelVBAマクロ「CSVファイルを文字列形式で開く」をパーツ化する

VBAの仕様書はありますか?

思いついたらこちらに記載していきます。

コメント

タイトルとURLをコピーしました