Not-おっとりさん

1971年生まれ-男-某保険代理店で内製プログラマーを他担当 Excel_Access…

Not-おっとりさん

1971年生まれ-男-某保険代理店で内製プログラマーを他担当 Excel_Access のVba及び関数・SQL Win-Acto rのシナリオを0から作成・改良 Vbs が補助 ちなみに独学者でもあります 色々な経験を経て、蓄積した地味な事を記憶したいため ブログを立ち上げる

記事一覧

As Variant で文字列を送る

コレ以外とやらないことなので、トラブルと厳しい…、外部ライブラリに文字列を送るときに、As String じゃなくて As Variant を要求される事がある  Public Sub test()…

iif関数について

さて表題は、固定概念があると良くないよという実例を一つ Public Sub TEST()Dim AddCount As Collection, CountAdd As LongSet AddCount = New Collection For CountAdd…

Select Case で Like を使う

あまりこの使い方はしないけど備忘のため記録 Private Sub TEST2()'ShortCircuitEvaluationConst Value3 As String = "あさくら"Select Case True Case Value3 Like "あさ…

Select Case の怖さ

さて表題 Select Case という分岐は実に扱いやすく、非プログラマーからしても視覚的に理解しやすいので、運用後に分岐条件が増えるなら(可能性)この形式も悪くないと思…

整数値がプラスかマイナスかの判定

さてお題ですが、一瞬悩んだけど0と比較して判定している…けど 独学なのでメジャーな方法や一般的な手法があるのかな? Public Sub TEST()Const Numeric As Long = -20 I…

ランダムで入ってくる整数と小数を仕分ける

表題ですがみなさんはどう処理してるのだろうか? 自分は10分程考えた結果以下になった Public Sub test()Const Numeric_A As Currency = 132.55Const Numeric_B As Curre…

Excelのコピーペーストの罠

表題ですが自分が Excel を使う時に嫌な罠があります VBAで1回は苦労するであろう、問題 以下サンプル (動かないよ?見本だから) Public Sub サンプル()Dim SH1 As Work…

1

Local を考慮したSaveって何?

さて表題、考慮しないとどうなるか?から説明します 主にCSVやテキストなど、Local 情報がないデータをVBAで 雑に保存すると発生しがちな現象である わかりやすく言えば "…

NumberFormat と NumberFormatLocal

これは特別に意識しなくても良いみたいですね オブジェクトの表示形式を表すバリアント型 (Variant) の値を取得または設定します。 指定されたオブジェクトの表示形式をコ…

FormulaLocalかValue どっちが正解?

さてお題、初期の頃、違いが判らず悩んだけど。 全部正解です。一応注意点はあるよ? Sub TEST() With ActiveSheet.Cells(1, 1) Stop .FormulaR1C1 = "桜" Stop .Formul…

1

キャンセルは3回まで

さて表題、わかりずらいかな? ファイルをダイアログで指定するのだけど、キャンセルを制限するという事そうしないと処理が延々と繰り返されるので… Public Sub TEST()Ca…

整数と小数点を分ける@2回目

前のお題で誤解があるかもしれないなぁと思い 基本的にはこっちだよという サンプルを供出します Public Sub TEST()Dim SplitTime As Date, SplitDate As DateConst Date…

Win Actorの小技

さて表題、Win Actorの件です ノードやライブラリで処理出来る事をわざわざExcelファイルにする 理由について 1. 24時間常駐型シナリオであり、シナリオがループしてい…

WorksheetFunction関数?

さて、表題ですが私は時々使いますね、そこまでの頻度ではありませんが Excelバージョンの差異に注意しないといけないし。 Public Sub test()Dim Variable As Variant, Mo…

整数と小数点に分解する その危うさ

さてお題 変数の特性を理解しないとこーなると言う やらかしを例に 上記を分解する場合 45384.7721444444 をExcelの日付と時間があるタイプ 私の場合は無意識に As Doubl…

ByRef と ByVal ?

リファクタリングで凄いの見たので、お題として残しておく ByRef が基本 Byval は一部のみってのは独学の私でも理解しているけど Public Sub TEST()Dim Subject As String…

As Variant で文字列を送る

コレ以外とやらないことなので、トラブルと厳しい…、外部ライブラリに文字列を送るときに、As String じゃなくて As Variant を要求される事がある 

Public Sub test()Dim Word As Variant Word = "文字列1" Stop Word = Array("文字列2") StopEnd Sub

実は As Variant 形式で単純に文字列送っても

もっとみる

iif関数について

さて表題は、固定概念があると良くないよという実例を一つ

Public Sub TEST()Dim AddCount As Collection, CountAdd As LongSet AddCount = New Collection For CountAdd = 1 To 10  AddCount.Add IIf(CountAdd Mod 2 = 0, "偶数値", "奇数値") Next

もっとみる

Select Case で Like を使う

あまりこの使い方はしないけど備忘のため記録

Private Sub TEST2()'ShortCircuitEvaluationConst Value3 As String = "あさくら"Select Case True Case Value3 Like "あさ*ら" MsgBox Value3 Case Else EndEnd SelectEnd Sub

True で Select C

もっとみる

Select Case の怖さ

さて表題 Select Case という分岐は実に扱いやすく、非プログラマーからしても視覚的に理解しやすいので、運用後に分岐条件が増えるなら(可能性)この形式も悪くないと思っています。

Private Sub TEST1()'ShortCircuitEvaluationConst Value3 As Long = 7 Select Case Value3  Case Is < 9, Is < 4

もっとみる

整数値がプラスかマイナスかの判定

さてお題ですが、一瞬悩んだけど0と比較して判定している…けど
独学なのでメジャーな方法や一般的な手法があるのかな?

Public Sub TEST()Const Numeric As Long = -20 If Numeric = 0 Then Debug.Print "0です" ElseIf Numeric > 0 Then Debug.Print "符号は+です" ElseIf Nume

もっとみる

ランダムで入ってくる整数と小数を仕分ける

表題ですがみなさんはどう処理してるのだろうか?
自分は10分程考えた結果以下になった

Public Sub test()Const Numeric_A As Currency = 132.55Const Numeric_B As Currency = 251 If Numeric_B <> Fix(Numeric_B) Then MsgBox "整数値ではありません" Else MsgBox

もっとみる

Excelのコピーペーストの罠

表題ですが自分が Excel を使う時に嫌な罠があります
VBAで1回は苦労するであろう、問題 以下サンプル
(動かないよ?見本だから)

Public Sub サンプル()Dim SH1 As Worksheet, SH2 As Worksheet, LC As LongConst B列 As Long = 2 For LC = 1 To 50 Step 1 Worksheets("テンプレ"

もっとみる

Local を考慮したSaveって何?

さて表題、考慮しないとどうなるか?から説明します
主にCSVやテキストなど、Local 情報がないデータをVBAで
雑に保存すると発生しがちな現象である
わかりやすく言えば "yyyy/mm/dd" が "mm/dd/yyyy"として保存されるなどで、発生頻度が少なく 対策は簡単だけど初心者やWin-Actr などには
迷惑な結果が起きる 、理由が分からないと \(^o^)/オワタになりがち

もっとみる

NumberFormat と NumberFormatLocal

これは特別に意識しなくても良いみたいですね
オブジェクトの表示形式を表すバリアント型 (Variant) の値を取得または設定します。

指定されたオブジェクトの表示形式をコード実行時の言語の文字列で表すバリアント型 (Variant) の値を取得、または設定します。

リファレンス見てもそう違いはないかな?

Sub TEST()With ActiveSheet.Cells(1, 1)Stop.

もっとみる

FormulaLocalかValue どっちが正解?

さてお題、初期の頃、違いが判らず悩んだけど。
全部正解です。一応注意点はあるよ?

Sub TEST() With ActiveSheet.Cells(1, 1) Stop .FormulaR1C1 = "桜" Stop .FormulaLocal = "さくら" Stop .Value = "サクラ" Stop .Value2 = "Sakura" End WithEnd Sub

極端

もっとみる

キャンセルは3回まで

さて表題、わかりずらいかな?
ファイルをダイアログで指定するのだけど、キャンセルを制限するという事そうしないと処理が延々と繰り返されるので…

Public Sub TEST()Call TEST2MsgBox "次の処理へ"End Sub

Private Sub TEST2(Optional ByRef CancelCount As Long = 0) If CancelCount >= 3

もっとみる

整数と小数点を分ける@2回目

前のお題で誤解があるかもしれないなぁと思い
基本的にはこっちだよという サンプルを供出します

Public Sub TEST()Dim SplitTime As Date, SplitDate As DateConst DateTime As Date = 45384.7721444444 SplitDate = Format(DateTime, "yyyy/mm/dd") Debug.Prin

もっとみる

Win Actorの小技

さて表題、Win Actorの件です
ノードやライブラリで処理出来る事をわざわざExcelファイルにする
理由について

1. 24時間常駐型シナリオであり、シナリオがループしているかの確認を
 Excelブックの新規作成時間で、他のPCから状態確認できるから
 @毎回削除→新規作成を繰り返す

2. ノードやライブラリで処理が 劇的に面倒 か とても遅い

3.途中の出力が必要だ @要望で

1

もっとみる

WorksheetFunction関数?

さて、表題ですが私は時々使いますね、そこまでの頻度ではありませんが
Excelバージョンの差異に注意しないといけないし。

Public Sub test()Dim Variable As Variant, ModeVariable As Long, ModeCount As VariantVariable = Array(1, 3, 5, 7, 1) ModeVariable = Worksh

もっとみる

整数と小数点に分解する その危うさ

さてお題 変数の特性を理解しないとこーなると言う やらかしを例に

上記を分解する場合 45384.7721444444 をExcelの日付と時間があるタイプ
私の場合は無意識に As Double 指定したけど…。

Public Sub TEST()Dim SingleTime As Single, DoubleTime As Double, CurrencyTime As CurrencyC

もっとみる

ByRef と ByVal ?

リファクタリングで凄いの見たので、お題として残しておく
ByRef が基本 Byval は一部のみってのは独学の私でも理解しているけど

Public Sub TEST()Dim Subject As String, Body As StringSubject = "さぶじぇくと" Body = "ぼでー"Call TEST_Ref(Subject, Body) Debug.Print Subje

もっとみる