• ベストアンサー

【VBA】Dim ○○ 「As」無し

上記件名に有る様に、 「As」の記載が無い宣言の意味について教えて下さい。 参照したコードがこの様になっていました。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • maiko04
  • ベストアンサー率17% (345/1956)
回答No.1

変数は「宣言」するという言い方をします。 Dim 変数名 [As データ型] これがDimによる変数宣言です。 [As データ型]の[ ]の中は省略可能という意味です。 省略すれば、前記のVariant型になって、何でも入れる事が出来ます。 https://excel-ubara.com/excelvba1/EXCELVBA312.html

0611birth
質問者

お礼

maiko04様 Variant型になるのですね。有難うございました。

関連するQ&A

  • Dim x As Integer = 0

    いつもお世話になっております。 只今、本に記載してあるソースコードを手入力しています。 標記のように入力したら、『コンパイルエラー 修正候補:ステートメントの最後』というエラーが出ました。 (1)このエラーは無視してもよいのでしょうか? (2)そもそも、変数の宣言文の後ろに=0をつけている意味がわかりません。当方VB初心者です。 よろしくお願いいたします。

  • Dim は何の略ですか?

    エクセルで変数の型宣言をするとき、例えば Dim 変数 As Integer と書きますが、このDimは何の略でしょうか? 宣言はdeclarationだし、Dimから考えられるのは Dimensionですが、これは次元とかの意味で少し 違うような気がするのですが。

  • ~ as ~ の"as"って何なんでしょう。。

    var clickedShape:DisplayObject = event.target as DisplayObject; 上記などで使われている"as"ってよく見るんですが この"as"ってどういう意味ですか??

    • ベストアンサー
    • Flash
  • (VBA) dim の疑問

    初歩的な疑問ですが、 ネットを見ていたら、以下のように dimで「as double」のように「as」以下が明記されていないコードがありました。 この場合、明記しないと「valiant」になるのでしょうか ? そもそも、「valiant」になるなら 全て「Dim r」のように省略してしまえば データ形式に迷わずにオールマイティ的な利用方法が出来そうですが 不具合(まずいこと)が有るのでしょうか? Dim r For r = 2 To Cells(Rows.Count, "B").End(xlUp).Row

  • ACCESSのVBAについて

    ACCESSのVBAを使って、データの集計・分析などをしてEXCELに出力、さらにそのEXCELを少しいじる、←このVBAをVBSで実行 といった事をしていたのですが、 会社の端末が一部Office2003から2010に変わったため、参照設定に不具合が出てきました。 内容は、元々2003で作成されたデータベースを2010で開くとVBAの参照設定が「Microsoft Access 11.0 Object Library」だったものは「Microsoft Access 14.0 Object Library」に変わるのですが、 「Microsoft Excel 11.0 Object Library」は変更されずに参照不可になってしまいます。 以前、別のところで同様の質問をした際に、 →「参照設定」をして、コードを作成したあと、コードに使われている定数を全部調べ上げて、変数宣言のコードを作成し、 参照設定のチェックを外して、宣言のコードを追加する、ということで、参照設定の対策をします。 といった回答を頂いたのですが、いまいち理解できていません。 以下のコードをEXCELの参照設定を外しても動くようにするにはどのようにしたら良いのでしょうか?よろしくお願いします。 Sub TEST() Dim xls As Excel.Application Dim wb As Excel.Workbook DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "TEST", "C:\TEST.xls", True Set xls = CreateObject("Excel.Application") Set wb = xls.Workbooks.Open("C:\TEST.xls") With xls .Sheets("Sheet1").Select .Range("A1").Value = "成功" .Visible = True End With End Sub

  • ACCESSのVBAについて

    アクセスのVBAでdatebaseやRecordsetが宣言できません。ヘルプでは【参照設定】でDate Access Objectをオンに指定ない場合は認識されずエラーになります と書いており、参照設定を見たのですがDate Access Objectという欄がありません、どうしたら宣言することができますか? 例)Dim db As Database Dim rsDate As Recordsetこれらがエラーになる。 大変困っています。ちなみにAccess2000です。

  • VBAでのグローバル宣言について

    (たとえばですが) 標準モジュールに『DataBase』を作成し、 Public TEST(10) as string TEST(0) = "hogehoge" と宣言し、 『Module1』にて Range("A1").Value = TEST(0) と記載して実行しようとすると 『コンパイルエラー:プロシージャの外では無効です。』 と表示されます。 ⇒解決方法はありますでしょうか。 【やりたいこと】 モジュールAにデータベース(String配列)を作成し、それをほかのモジュールから参照したいです。 データベース(String配列)は参照するのみで書き換えはしません。

  • エクセルVBAで、Dim A As StringとA$

    変数を使用するにあたり、 Dim A As String A=Sheets("Sheet1").range("A1").Value MsgBox A という記述方と、 A$=Sheets("Sheet1").range("A1").Value MsgBox A$ という記述は同じ意味だと思うのですが、何か違いがあるのでしょうか? Stringなら「$」、Integerなら「%」で、いちいちDimで整数か文字列かを指定しなくていいだけ簡単だと思うのですが、わざわざDimを使う意味は何なのでしょうか?

  • as~asのasってなんですか?

    比較のas~asのasってどういう意味のasですか?

  • コードの簡略化 VBA

    dim a as string dim b as string dim c as string dim d as string dim e as string dim f as string dim g as string dim h as string dim i as string a = "○○" b = "○○" c = "○○" d = "○○" e = "○○" f = "○○" g = "○○" h = "○○" i = "○○" 上記のような形でたくさん宣言しているのですが、 実際はもっとあり、これだととても長いコードになってしまいます(・・;) なんとか簡略化したいとは考えたのですがよい方法が見つからず 皆さんよろしくお願いいたします_(_^_)_

専門家に質問してみよう