つらつら Excel VBA

私の備忘録です。

ユーザー定義書式

無理矢理文字を表示させたい時

 

ユーザー定義書式に「@"文字"」と入力

セルに「なんたら」と入力

「なんたら文字」と表示される

この場合、セル未入力だと何も表示されない

 

 

完全に非表示にしたい場合

 

ユーザー定義書式にセミコロンを3個入力「;;;」

何を入力しても非表示になる!

実際には入力されてるので計算とか問題無し

 

上記捕捉

プラスの数値;マイナスの数値;0;文字

 

ランダム値を重複なしで取得

Dim DIC As Object, mKey

Dim i As Integer, rd As Integer, no As Integer
Set DIC = CreateObject("Scripting.Dictionary")
For i = 1 To 52 '連想配列の作成。
    DIC.Add i, i
Next

For i = 52 To 1 Step -1
    rd = getRandom(1, i) '1~iの範囲でランダム値を得る自作関数。これは自分で作る!
    mKey = DIC.keys
    no = mKey(rd - 1) 'ここで得た数値を使用する。

    'Debug.Print "i=" & i & ",rd=" & rd & ",no=" & no
    DIC.Remove no '使用した数値を削除。

Next

※使用例としてはトランプ。もっと良い方法があると思います。