
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でループ内で使う変数名を可...
-
UMLでの例外処理
-
switch の範囲指定
-
VB.NET Excelを読み込んでDataT...
-
【Excel】特定の文字を含むセル...
-
月度は何て読みますか?
-
VBAでCOPYを繰り返すと、処理が...
-
セックスレスの既婚女性は自慰...
-
DoEventsがやはり分からない
-
TextBoxに日付を自動的に入れる
-
リョウ・・・量?料?
-
Loadイベント中にほかのイベン...
-
EXCEL VBA マクロ 実行する度に...
-
EXCEL VBA の For・・・Next ...
-
VBA 特定の文字が入力されたセ...
-
インタラクティブの反対語は?
-
C#です。リストボックスの項目...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
VBAでループ内で使う変数名を可...
-
【Excel】特定の文字を含むセル...
-
switch の範囲指定
-
EXCEL VBA マクロ 実行する度に...
-
UMLでの例外処理
-
DoEventsがやはり分からない
-
月度は何て読みますか?
-
お家デートをしててハグを長い...
-
VB.NET Excelを読み込んでDataT...
-
VBの質問#if 0 then ってどう...
-
Do~Loopした回数をカウントしたい
-
VBAでCOPYを繰り返すと、処理が...
-
メルカリのメルカードで買い物...
-
インタラクティブの反対語は?
-
Loadイベント中にほかのイベン...
-
リョウ・・・量?料?
-
vba 空のデータをSplitする時の...
-
findは動くがfindnextがマクロ...
おすすめ情報