![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
No.6
- 回答日時:
$付き 文字型
$なし バリアント型 を返します。
文字列に代入するのなら $を付けた方がベストです。
私は なるべく$付を使います、他の人が見た時 解りやすいと思って....
でも 時々文字型でも $を付けるのを忘れる時も有ります。
No.5
- 回答日時:
昔DOS-Basicのころ、それもはじめの頃、
Dim a as stringなど変数宣言も無く、aという変数が文字列か数値か、その数値も倍精度長かどうかを1文字を変数名にあとにつけていました(%、#、!)。しかも1、2、3文字しか変数名として使わず、$付きかどうかで内容を判読する手掛かりにもなりました。しかし後期になり、処理系の種類によっては無くても良くなったように記憶します。VBになっては、付けない方が主流になりました。一方関数についても同じ事情です。結果(処理時間は知らない)に差が無いことは下記のようなテストをすれば納得出来るかもしれない。
余分ですが「・・B」とBのついたものと、つかないものが出来ました(ありますね)。これは差があります。
「Let」なども早々と使われなくなりましたね。
Private Sub Form_Click()
a = " 大阪 "
Form1.Print "=" & a & "="
b = Trim(a)
Form1.Print "=" & b & "="
c = Trim$(a)
Form1.Print "=" & c & "="
End Sub
No.4
- 回答日時:
MID関数とかに$を付けるのは、知る人ぞ知る最適化テクですね。
実行速度が速くなり、EXEのサイズが小さくなります。
理由は↓を参照。
参考URL:http://www.ht-net21.ne.jp/~hatagaya/vb/compact_1 …
No.3
- 回答日時:
$は文字というのはもう出てますね。
それ以外にも機能があります。
処理速度が違います。
下のコードを行ってみてください。
Option Explicit
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Private Sub Command1_Click()
Dim lngMemoryTime As Long
Dim strWork As String
Dim i As Long
lngMemoryTime = timeGetTime
For i = 1 To 1000000
strWork = Left("ああああ", 4)
Next i
Debug.Print timeGetTime - lngMemoryTime, "処理時間:コマンド1"
End Sub
Private Sub Command2_Click()
Dim lngMemoryTime As Long
Dim strWork As String
Dim i As Long
lngMemoryTime = timeGetTime
For i = 1 To 1000000
strWork = Left$("ああああ", 4)
Next i
Debug.Print timeGetTime - lngMemoryTime, "処理時間:コマンド2"
End Sub
コマンドボタン2の方が明らかに早いです。何故かというのは、はっきりわかりません。
私は「$無は収納される変数(strWork)の型にキャストする処理があるからだと勝手に思っておりますが、違うかも知れないので無視してもらっても結構です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロ作成初心者です。CSVファイルの日付データについて 3 2022/12/14 06:02
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/01/12 11:36
- Visual Basic(VBA) vba 15 2023/04/07 12:33
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/02/02 13:13
- Excel(エクセル) MID関数について 2 2022/04/22 09:13
- 楽器・演奏 楽譜にて、数字の「2」の肩に付いてる小さい◯の意味は? 1 2023/05/09 20:04
- 物理学 ジャイロ効果がある回転体の作り方 4 2023/08/10 22:40
- 電車・路線・地下鉄 何故、東武の上り先頭車両は1号車ではないのでしょうか? 6 2023/03/05 23:21
- その他(音楽・ダンス・舞台芸能) 音階についての簡単な質問です 3 2023/04/06 17:19
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「ご処理進めて頂きますようお...
-
非同期処理ってなんで、並列処...
-
エクセルで、日付を入力すると...
-
VBAでループ内で使う変数名を可...
-
DoEventsがやはり分からない
-
_tfopen について教えてください
-
EXCEL VBA マクロ 実行する度に...
-
メルカリのメルカードで買い物...
-
COBOLのEVALUATE文について
-
Excel VBAにて2つの処理を同時...
-
付き合うより、ワンナイトの方...
-
UMLでの例外処理
-
IQテストの数列
-
【Excel】特定の文字を含むセル...
-
2重のDo~Loopは?
-
RPGプログラムの*HIVALについて
-
リョウ・・・量?料?
-
VB.NET Excelを読み込んでDataT...
-
実時間処理ってなんですか?
-
findは動くがfindnextがマクロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
VBAでループ内で使う変数名を可...
-
DoEventsがやはり分からない
-
switch の範囲指定
-
メルカリのメルカードで買い物...
-
【Excel】特定の文字を含むセル...
-
VBの質問#if 0 then ってどう...
-
VBAでCOPYを繰り返すと、処理が...
-
EXCEL VBA マクロ 実行する度に...
-
findは動くがfindnextがマクロ...
-
インタラクティブの反対語は?
-
UMLでの例外処理
-
リョウ・・・量?料?
-
Do~Loopした回数をカウントしたい
-
セックスレスの既婚女性は自慰...
-
月度は何て読みますか?
-
Loadイベント中にほかのイベン...
-
セルの値が0はクリアするマクロ
-
FFTの結果ついて
おすすめ情報