変数の宣言をする時の「Dim」は何の略でしょうか…
ほかにもプログラムをやっていて、何の略かわからないとなかなか覚えられません。よいサイトをご存知の方お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

ryくごの胃委細とを探したんですがなかなか良いところがありません。



http://www.geocities.co.jp/SiliconValley-Bay/6849/

http://www.geocities.co.jp/Milkyway-Orion/5125/d …

ちなみにDImensionは「配列」などの意味です。

参考URL:http://www.bekkoame.ne.jp/~proud/abb-words.html
    • good
    • 0

Dimension(ディメンジョン)の略です。

    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QSub ***( ) と Private Sub ***( ) の違い

初歩的な質問で申し訳ありませんが・・・

自分でコードを書いていても、イベントが発生したりした時の処理で、コードのウィンドウで上のドロップダウンリストで選択できる時の処理などは自動的に[Private Sub Command1_Click( )]などと出てくるのでそのまま使っています。自分で別途プロシージャーを作成する時は[Sub ****( )]としています。
ですがその違いを理解しないまま、自分で作成する時は[Private Sub]ではなくて[Sub]を使っています。

Sub ***( ) と Private Sub ***( ) の違いは何なんでしょうか?
どなたか説明頂けませんか?
よろしくお願いします。

Aベストアンサー

「Sub」の部分にカーソルを置いて[F1]を押せばヘルプが起動します。
「指定項目」のところに「Public」と「Private」の説明がありますよ。
省略して「Sub hogehoge()」とした場合は「Public」とみなされます。

Publicは「すべてのモジュールから呼び出せるプロシージャ」ということになります。
Privateとすると「同じモジュールの中からしか呼び出せないプロシージャ」となります。

もしExcelをお持ちでしたらExcelのVBEで標準モジュールを追加し、「Sub Test1()」と「Private Sub Test2()」を作成してみてください。
そしてExcelの[ツール]-[マクロ]-[マクロ(Alt+F8)]でマクロ実行のダイアログを表示させてみるとわかります。
ここには実行できるプロシージャの一覧が表示されますが、Test1は表示されているけれどTest2は表示されません。
Test1はPublicで、Test2はPrivateだからです。

QExcel VBAでsub,dimは何の略?

Excel VBAで
sub,dimはそれぞれ何の略ですか?

Aベストアンサー

sub subroutine(サブルーチン)
dim dimension(次元)

です。
元々はFORTRAN言語で、手続きの開始を宣言するSUBROUTINEと、配列を宣言するDIMENSIONでした。
FORTRANのDIMENSIONやN-BASIC等でのDimは、配列変数を宣言するものだったのですが、
VBになって、配列じゃない変数もDimで宣言するようになりました。

Qエクセル マクロで指定フォルダを開く

エクセルにて
指定フォルダを開く、マクロがあれば教えて頂けないでしょうか。
よろしくお願いいたします。

Aベストアンサー

こんにちは。

こういうものですか?
開くフォルダを変えたいときは targ に与えるパスを変更します。

Sub OpenFolders()
Dim targ As String
targ = "C:\"
Shell "C:\Windows\Explorer.exe " & targ, vbNormalFocus
End Sub

QEXCEL(IF関数)でCELLの色を変える。

例えば、IF関数で真ならセルの色を赤色にしたり、文字の色を変えたりする関数とかはあるのでしょうか?わかりません・・・知ってる方いらっしゃれば教えて下さい。

Aベストアンサー

こんばんは。

関数ではありませんが‥

<条件付き書式>ではダメなのでしょうか?

メニュー<書式>-<条件付き書式> です。

どのような条件を想定していらっしゃるのかわかりませんが、
<条件付き書式>については↓の参考URLをご覧ください。

▽条件付き書式・その1
http://homepage1.nifty.com/kenzo30/ex_kisosyo/ex_ks_syokyu4.htm

▽条件付き書式・その2
http://homepage1.nifty.com/kenzo30/ex_kisosyo/ex_ks_syokyu5.htm

参考URL:http://homepage1.nifty.com/kenzo30/ex_kisosyo/ex_ks_syokyu4.htm

QVLOOKUPによる他シートの値参照

初心者で以下の処理を行うコーディングの方法が分りません。
いろいろと他の質問、サイトを調べましたが、解決できませんでしたので、ご指導頂ければ有り難いです。

(1)"Sheet1"に下記例の通り、2列にデータが並んでいる。
 左列には商品、右列にはその単価がセットされている。

(例)

商品1  \11
商品2  \22
商品3  \33


(2)別シート"Sheet2"の左列には、商品が"sheet1"とは
異なる順序で並んでいる。また同一商品が複数存在することもある。
この商品の右列にそれぞれの単価をセットしたい。

商品3  (Sheet1を参照して値をセット)
商品7  (Sheet1を参照して値をセット)
商品1  (Sheet1を参照して値をセット)


、って感じです。EXCEL関数の"VLOOKUP"を使おうと思っているのですが、どうも思った通りの結果がでません。
商品のデータ数は当然変動するのでVLOOKUPの参照セルに変数を使おうと思っているのですが、
その方法がまずいのでしょうか?

初心者で以下の処理を行うコーディングの方法が分りません。
いろいろと他の質問、サイトを調べましたが、解決できませんでしたので、ご指導頂ければ有り難いです。

(1)"Sheet1"に下記例の通り、2列にデータが並んでいる。
 左列には商品、右列にはその単価がセットされている。

(例)

商品1  \11
商品2  \22
商品3  \33


(2)別シート"Sheet2"の左列には、商品が"sheet1"とは
異なる順序で並んでいる。また同一商品が複数存在することもある。
この商品の右列にそれぞれの単価をセ...続きを読む

Aベストアンサー

#1です。

VBAで?
Sheet2 にVLOOKUP式を入れたいなら可変させるのは入れたい範囲だけで良いと思います。

Sub Test()
Dim r As Range
 With Worksheets("Sheet2")
  .Columns(2).ClearContents
  Set r = Range("A65536").End(xlUp).Offset(0, 1)
  .Range("B1", r) = "=IF(ISERROR(VLOOKUP(A1,Sheet1!$A$2:$B$4,2,0))" & _
              ",""""," & "VLOOKUP(A1,Sheet1!$A$2:$B$4,2,0))"
 End With
End Sub

QExcel VBA:特定の文字列以降(あるいは以前)のテキストをすべて取得する方法

任意の長さのテキスト文があるとします。
str0 = "今日の天気は晴れです。"
この文で、「天気は」という文字列以前、あるいは以降の文をすべて取得するにはどうしたらよいでしょうか。

最終的な目的は「晴れ」という文字列を抜き出したいだけですので、別の方法があればそちらでも構いません。ただし、その文に「晴れ」という文字が入っているかどうかは取得前は不明ですので、「晴れ」を検索語にする方法ではありません。また、「天気は」、「です。」の文字は確実に文章に含まれているのですが、何文字目にあるかということも不明の場合を想定しています。

次のようなプロセスを考えています。
1.str0から「天気は」以降の文を取得 → str1 = "晴れです。"
2.str1から「です。」以前の文を取得 → str2 = "晴れ"

Aベストアンサー

お早うございます。

こんな感じで如何でしょうか。

Sub 文字列取得()
  Dim str0    As String
  Dim str1    As String
  Dim str2    As String
  Dim wFindStr  As String
  '
  str0 = "今日の天気は晴れです。"
  
  'str0から「天気は」以降の文を取得
  wFindStr = "天気は"
  str1 = Mid(str0, Len(wFindStr) + InStr(1, str0, wFindStr))
  '
  'str1から「です。」以前の文を取得
  wFindStr = "です。"
  str2 = Left(str1, InStr(1, str1, wFindStr) - 1)
End Sub

QVBAでワークブックの名前を変数にして開かせる?

最近VBAを勉強し始めたばかりです。 面白いですね…。

さて、恐らく基礎なんでしょうけれど、行き詰まっているので是非アドバイスをお願いします。
とりあえず、テキスト見ながら作ったマクロですがダメでした。
目的は対話型?で入力した名前のワークブックの名前を開かせるというものです。
Sub Macro1()
Dim mywbname As String
Dim mymsg As String, mytitle As String

myMgs = "開いて欲しいファイル名を入力してください"
mytitle = "ファイルを選択"
mywbname = Application.InputBox(Prompt:=myMgs, Title:=mytitle)

If mywbname <> "False" Then

Workbooks.Open Filename:="C:\Documents and Settings\○○○\デスクトップ\mywbname.xls"

End If

End Sub
なんてなものを作ったのですが、mywbnameを変数として受け取ってくれません。なのでそんなファイルはない…なんてことになっています。

構文自体の見直しも含めてアドバイスお願いします。
蛇足かもしれませんが、○○○のところは個人名が入ります。
C:\Documents and Settings\○○○\デスクトップ\mywbname.xls"
の箇所のmywbnameを既存のファイル名にしてみるとMgsBoXに適当な文字さえ入れれば、そのファイルは開いたので問題なのはmywbnameを入力した名前に置き換えてくれない部分だと思うのですが、よろしくおねがいします。

最近VBAを勉強し始めたばかりです。 面白いですね…。

さて、恐らく基礎なんでしょうけれど、行き詰まっているので是非アドバイスをお願いします。
とりあえず、テキスト見ながら作ったマクロですがダメでした。
目的は対話型?で入力した名前のワークブックの名前を開かせるというものです。
Sub Macro1()
Dim mywbname As String
Dim mymsg As String, mytitle As String

myMgs = "開いて欲しいファイル名を入力してください"
mytitle = "ファイルを選択"
mywbname = Applicatio...続きを読む

Aベストアンサー

>問題なのはmywbnameを入力した名前に置き換えてくれない部分だと思うのですが
その通りです、変数と文字列の連結方法が間違っています
>Workbooks.Open Filename:="C:\Documents and Settings\○○○\デスクトップ\mywbname.xls"
Workbooks.Open Filename:="C:\Documents and Settings\○○○\デスクトップ\" & mywbname & ".xls"
とします
したのマクロを実行してみてください

Sub test()
Dim 変数 As String
変数 = "変数を""""でくくっていない"
MsgBox "こちらは変数を""""でくくった例です"
MsgBox "こちらは" & 変数 & "例です"
End Sub

違い分かりますか


修正したものを載せておきます

Sub Macro1()
Dim mywbname As String
Dim mymsg As String, mytitle As String

mymgs = "開いて欲しいファイル名を入力してください"
mytitle = "ファイルを選択"
mywbname = Application.InputBox(Prompt:=mymgs, Title:=mytitle)

If mywbname <> "" Then

Workbooks.Open Filename:="C:\Documents and Settings\○○○\デスクトップ\" & mywbname & ".xls"

End If

あと、InputBoxの未入力の戻り値は "False" では無く "" です
>If mywbname <> "False" Then
If mywbname <> "" Then

こんな所でしょうか

>問題なのはmywbnameを入力した名前に置き換えてくれない部分だと思うのですが
その通りです、変数と文字列の連結方法が間違っています
>Workbooks.Open Filename:="C:\Documents and Settings\○○○\デスクトップ\mywbname.xls"
Workbooks.Open Filename:="C:\Documents and Settings\○○○\デスクトップ\" & mywbname & ".xls"
とします
したのマクロを実行してみてください

Sub test()
Dim 変数 As String
変数 = "変数を""""でくくっていない"
MsgBox "こちらは変数を""""でくくった例です"
Msg...続きを読む

QExel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数ではなく、マクロで処理を希望します。

自分では、部品表の商品番号をコピーして、コード一覧表で検索し、検索結果の右隣のセル(B列のコード)の値を部品表のC列に貼り付ければよいかと思い、書いてみたんですが…

Sub 別ブックから貼り付ける()
  Dim 検索する As Long
Windows("部品表.xls").Activate
検索する = cells(i,2).Value
Windows("コード一覧表.xls").Activate
ActiveWindow.SmallScroll Down:=-3
Selection.AutoFilter Field:=3, Criteria1:="=検索する", Operator:= xlAnd

と、してみたものの、検索しても、その検索結果の隣のセルのコードをどうやって取得すればいいのかが、わかりませんでした。

基本事項は本で学びましたが、呪文のようなコードはよく理解できません。懸命にネットで検索して、訳して理解する努力をしてはいますが。

どうぞよろしくお願いします。

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数...続きを読む

Aベストアンサー

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks.Open("C:\★★\コード一覧表.xls") '★要変更★
 I = 2
 Do While Range("A" & I).Value <> ""
  ThisWorkbook.Worksheets("Sheet1").Range("C" & I).Value = Application.VLookup(ThisWorkbook.Worksheets("Sheet1").Range("B" & I).Value, xlBook.Worksheets("Sheet1").Range("A2:B65535"), 2, 0)
  I = I + 1
 Loop
 xlBook.Close
 Application.ScreenUpdating = True
 MsgBox ("完了")
End Sub

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks....続きを読む

Q条件付き書式のやり方。隣のセルも色付け。

エクセル初心者です。

(1)B1に特定の文字が入力された場合特定の文字から隣のセル
6つ目まで(B~H)を特定した色になるようにしたいです。
条件付き書式で設定が可能かと思うのですが
やり方が分かりません。

「条件付き書式」→「新しい書式ルール」→「数式を使用して~」
のところで悩んで止まっています。
この設定ではできないのでしょうか?

(2)また、添付画像にはありませんが、たとえばB列のセルに
 「え」または「お」が入った場合、黄色にする、という設定は可能でしょうか?

(3)条件付き書式はいくつまで設定可能なのでしょうか?

どなたか回答お願いします

Aベストアンサー

NO2です。
もう一度、手順を整理します。
(1)色付け範囲を選択。(仮にB:Hを選択)
(2)「条件付き書式」→「新しい書式ルール」→「数式を使用して~」を選択→数式欄に=OR($B1="え",$B1="お")→書式→塗りつぶしタブで黄色を選択→OK

>最初の列しか色付けされない
 ⇒上記の数式欄で絶対参照記号の$が抜けているからです。

>同じ色をは使えない
 ⇒そのようなことはありません。

>(2)=OR($AC1="~)で色がつかない
 ⇒AC:AL列を選択→新しい書式ルール」→「数式を使用して~」を選択→数式欄に=OR($AC1="あ",$AC1="い",$AC1="う")→書式→塗りつぶしタブで色を選択→OK

因みに同一のセル範囲で条件を追加する場合、同一範囲を選択→「条件付き書式」→「ルールの管理」→「新規ルール」→「数式を使用して~」以下同じ

QVBAコードの読み方(音読)について教えて下さい

こんにちは、VBAを学び中(かなり初心者)なのですが、VBAのコードの読み方が分かりません。
関数名などに出てくるものや英単語的に読めるものは良いのですが、そうでないものについて知りたいです。
普段テキストを使用しているのですが読みまでは書いてないですし、
周りの方に聞くにも、あいまいな回答しか返ってこない事が多いです。
覚えるのにもやはり読み方が分からないと覚えづらいです。困っています。

みなさんはどの様にして学ばれているのでしょうか?

VBAコードの読み方の一覧が掲載されているサイトや書籍などをご存知でしたら、教えて下さい。
宜しくお願い致します。

Aベストアンサー

どうやら、本当に知りたいスペルがなかったみたいなので、第2弾。

ChDir:チェンジディレクトリー。
ChDrive:チェンジドライブ。
Const:コンスト。
Declare:これむつかしい。デクレヤー。Declaration は デクラレイション。
Dir:ディレクトリー。もしくは、ディアー、ディルなどあり。Directory は フォルダーのことですね。Dir が略に当たります。クラシックなベーシックで、ディスクに存在するファイルの一覧を表示するコマンドで、FILES(ファイルズ)というのがあったんですが、これは、MS-DOSでは、Dir というコマンドに当たります。Windows のコマンドプロンプトでも使えます。
Enum:これ諸説あるなあ。僕はイーナム。もともとは、enumeration のことで、この正しい発音は、エニューマレーションというらしいです。ほかには、エナム、イーナン。通じなければ列挙体で。
Erase:イレイズ。もしくはイレイス。けしごむがイレイザー。
For Each Next:フォー イーチ ネクスト。英語っぽくいえば、フォーリーチ。ちなみに、For i=0 to 10 は、フォーアイイコールゼロトゥーじゅう、と読めばよい。
Implements:インプリメンツ。オブジェクト指向において"実装"を示す単語。
LSet:エルセット。
MidB:ミッドビー。バイト単位のミドルダラーだが、ミドルバイナリーとは言わない。
Option Compare:オプション・コンペアー。
Option Explicit:オプション・イクスプリシット。これVB覚えたての人が読めない単語ナンバーワンだろうなあ。COBOLでいうところの、ENVIRONMENT DIVISIONが読めないのと同じ。(エンバイラメント・ディビジョンと読む。)
Private:プライベート。
Property:プロパティ。直訳は財産とか性質とか所有物とか。Windows95でホームユースに降りてきたことばだけど、はじめはとっつきにくかったね。
Public:パブリック。
RaiseEvent:レイズイベント。イベントを起こすステートメント。
Randomize:ランダマイズ。関数 Rnd はランド、もしくはランダム。
ReDim:レディム。これも、リ・ディメンションとは言わないなあ。
RmDir:リムーブ・ディレクトリー。RmはRemoveの略。対義語は、Mkでmakeの略。MkDirステートメントもあります。
Seek:シーク。
SendKeys:センドキイズ。
SetAttr:セットアトリビュート。Attributeは属性のこと。Propertyと似てますが、DOSの歴史的にAttributeはファイルの読み取り専用、隠しファイルといった「ファイルの読み書きに限定したプロパティ」といえます。
Static:スタティック。
Type:タイプ。
While Wend:ワイル、ウェンド。フォワイル、フォエンド。Wend はダブルエンドでもいいと思う。
With:ウィズ。


BASIC言語はメモリを節約するためにステートメントをフルスペルの英語を持ち込まず、だいたい、略語で構成されていました。ですから、2文字または3文字の略に出会ったら、そのまま読んでも問題ないです。傾向としては、2文字はアルファベット読み、3文字は強引に英語読みしてみる。略語でないことがわかればあとは英語読みしたらいいです。(略語系はだいたい説明したつもり。)declaration とか explicit のような難解な単語は、辞書ひくか、Googleに聞いてみたら、すぐに読みはでてきます。Google翻訳では、発音も聞けます。

若干本末転倒ですが、

> VBAコードの読み方の一覧が掲載されているサイトや書籍などをご存知でしたら、教えて下さい。

こういうものは見当たらないですね。盲点かもしれない。本を出版すると意外と需要があるかもですねえ。
 
 
 

どうやら、本当に知りたいスペルがなかったみたいなので、第2弾。

ChDir:チェンジディレクトリー。
ChDrive:チェンジドライブ。
Const:コンスト。
Declare:これむつかしい。デクレヤー。Declaration は デクラレイション。
Dir:ディレクトリー。もしくは、ディアー、ディルなどあり。Directory は フォルダーのことですね。Dir が略に当たります。クラシックなベーシックで、ディスクに存在するファイルの一覧を表示するコマンドで、FILES(ファイルズ)というのがあったんですが、これは、MS-DOSでは、Dir とい...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報