VBAエキスパート Excel VBA ベーシック ⑦ 関数

VBAの組み込み関数を用途別に学びます。日付・時刻では Date、Now、DateAdd、文字列では Len、Left、Mid、InStr、数値では Int、Abs、Round などが対象です。つまずくのはダイアログ系で、MsgBox はボタン定数を指定すると押されたボタンに応じた戻り値(vbYes、vbNo など)を返し、戻り値を受け取るときは引数をかっこで囲みます。InputBox は2種類あり、VBA の InputBox は常に文字列を返しキャンセル時は長さ0の文字列、Application.InputBox は Type 引数で型を指定でき、キャンセル時は False を返します。

この分野の問題45問を、選択肢・正解・解説つきで掲載しています。まず自分で解答を考えてから「正解と解説を見る」を開いて答え合わせをしてください。

クイズモードで挑戦 →

246関数において、入力する情報と出力される結果の用語の組み合わせとして正しいものはどれか。

  1. A引数と出力値
  2. B変数と定数
  3. C引数と戻り値
  4. D入力値と戻り値
正解と解説を見る

正解:C引数と戻り値

関数に入力する情報を「引数」、出力される結果を「戻り値」といいます。

この問題の解説ページを開く →

247現在の日時を取得する関数はどれか。

  1. ANow
  2. BToday
  3. CCurrentTime
  4. DDate
正解と解説を見る

正解:ANow

Now関数で現在の日時を取得できます。

この問題の解説ページを開く →

248年、月、日を表す数値を指定してシリアル値を作成する関数はどれか。

  1. ADateSerial
  2. BDate
  3. CDateValue
  4. DTimeSerial
正解と解説を見る

正解:ADateSerial

DateSerial関数は引数に年・月・日の数値を指定し、シリアル値を作成します。

この問題の解説ページを開く →

249VBA上でExcelのSum関数を使用する場合、関数の前に付けるオブジェクトはどれか。

  1. AWorksheet
  2. BExcelFunction
  3. CWorksheetFunction
  4. DFormula
正解と解説を見る

正解:CWorksheetFunction

VBAに存在しないExcel関数を使うときは、WorksheetFunctionオブジェクトを付けます。

この問題の解説ページを開く →

250文字列の文字数を取得する関数はどれか。

  1. ALength
  2. BLen
  3. CCount
  4. DSize
正解と解説を見る

正解:BLen

Len関数は指定した文字列の文字数を取得します。

この問題の解説ページを開く →

251文字列の左から指定した数の文字を取得する関数はどれか。

  1. ARight
  2. BStart
  3. CMid
  4. DLeft
正解と解説を見る

正解:DLeft

Left関数は文字列の左から指定した数の文字を取得します。

この問題の解説ページを開く →

252文字列の右から指定した数の文字を取得する関数はどれか。

  1. ALeft
  2. BMid
  3. CEnd
  4. DRight
正解と解説を見る

正解:DRight

Right関数は文字列の右から指定した数の文字を取得します。

この問題の解説ページを開く →

253Mid関数の3つ目の引数が表すものは何か。

  1. A終了位置
  2. B文字列
  3. C文字数
  4. D開始位置
正解と解説を見る

正解:C文字数

Mid関数の3つ目の引数は、文字の位置ではなく取得する「文字数」を指定します。

この問題の解説ページを開く →

254英字を小文字に変換する関数はどれか。

  1. AUCase
  2. BLCase
  3. CLowerCase
  4. DStrLower
正解と解説を見る

正解:BLCase

LCase関数は英字を小文字に変換します。

この問題の解説ページを開く →

255英字を大文字に変換する関数はどれか。

  1. AUCase
  2. BLCase
  3. CUpperCase
  4. DStrUpper
正解と解説を見る

正解:AUCase

UCase関数は英字を大文字に変換します。

この問題の解説ページを開く →

256文字列の両側にある空白を取り除く関数はどれか。

  1. ALTrim
  2. BTrim
  3. CRTrim
  4. DSpaceTrim
正解と解説を見る

正解:BTrim

Trim関数は文字列の両側にある空白を取り除きます。

この問題の解説ページを開く →

257文字列の左側にある空白を取り除く関数はどれか。

  1. ATrim
  2. BLeftTrim
  3. CRTrim
  4. DLTrim
正解と解説を見る

正解:DLTrim

LTrim関数は文字列の左側にある空白を取り除きます。

この問題の解説ページを開く →

258文字列の右側にある空白を取り除く関数はどれか。

  1. ARightTrim
  2. BTrim
  3. CLTrim
  4. DRTrim
正解と解説を見る

正解:DRTrim

RTrim関数は文字列の右側にある空白を取り除きます。

この問題の解説ページを開く →

259文字列を置換するReplace関数の引数の順番で正しいものはどれか。

  1. A検索文字列, 置換文字列, 文字列
  2. B置換文字列, 文字列, 検索文字列
  3. C文字列, 置換文字列, 検索文字列
  4. D文字列, 検索文字列, 置換文字列
正解と解説を見る

正解:D文字列, 検索文字列, 置換文字列

Replace関数は「文字列」「検索文字列」「置換文字列」の順に引数を指定します。

この問題の解説ページを開く →

260InStr関数で、探す文字が見つからない場合の戻り値は何か。

  1. A-1
  2. BFalse
  3. C0
  4. Dエラー
正解と解説を見る

正解:C0

InStr関数は文字が見つからないとき、戻り値が「0」になります。

この問題の解説ページを開く →

261StrConv関数で文字列を全角に変換する文字種の定数はどれか。

  1. AvbWide
  2. BvbUpperCase
  3. CvbProperCase
  4. DvbNarrow
正解と解説を見る

正解:AvbWide

vbWideは全角に変換するための定数です。

この問題の解説ページを開く →

262StrConv関数で文字列をひらがなに変換する文字種の定数はどれか。

  1. AvbWide
  2. BvbKatakana
  3. CvbKana
  4. DvbHiragana
正解と解説を見る

正解:DvbHiragana

vbHiraganaはひらがなに変換するための定数です。

この問題の解説ページを開く →

263Format関数で西暦年を4桁で表示する書式はどれか。

  1. Ayy
  2. Bggge
  3. Cyyyy
  4. Daaaa
正解と解説を見る

正解:Cyyyy

「yyyy」は西暦を4桁で表す書式です。

この問題の解説ページを開く →

265Format関数で曜日(例:木曜日)を表示する書式はどれか。

  1. Aw
  2. Bddd
  3. Cdddd
  4. Daaaa
正解と解説を見る

正解:Daaaa

「aaaa」は曜日(○○曜日)を表す書式です。

この問題の解説ページを開く →

266Format関数で元の値がない場合、何も表示されない書式はどれか。

  1. A0
  2. B#
  3. C?
  4. D@
正解と解説を見る

正解:B#

書式「#」を適用すると、元の値が0または無い場合は何も表示されません。

この問題の解説ページを開く →

267数値から整数部を取得する関数はどれか。

  1. ARound
  2. BAbs
  3. CInt
  4. DSqr
正解と解説を見る

正解:CInt

Int関数は数値から整数部を取得する関数です。

この問題の解説ページを開く →

268数値の絶対値を取得する関数はどれか。

  1. AAbs
  2. BRound
  3. CInt
  4. DVal
正解と解説を見る

正解:AAbs

Abs関数は数値の絶対値を取得する関数です。

この問題の解説ページを開く →

269値が数値かどうかを判定するIsNumeric関数において、値が数値の場合の戻り値はどれか。

  1. A1
  2. BTrue
  3. CFalse
  4. D0
正解と解説を見る

正解:BTrue

IsNumeric関数は値が数値の場合に「True」を返します。

この問題の解説ページを開く →

270値が日付かどうかを判定する関数はどれか。

  1. AIsNumeric
  2. BIsTime
  3. CIsDate
  4. DCheckDate
正解と解説を見る

正解:CIsDate

IsDate関数は値が日付かどうかを判定します。

この問題の解説ページを開く →

271MsgBox関数で「はい」と「いいえ」のボタンを表示する定数はどれか。

  1. AvbOKCancel
  2. BvbYesNoCancel
  3. CvbYesNo
  4. DvbQuestion
正解と解説を見る

正解:CvbYesNo

vbYesNoは[はい]と[いいえ]のボタンを表示する定数です。

この問題の解説ページを開く →

272ユーザーが文字や数値を入力するためのダイアログボックスを表示する関数はどれか。

  1. AMsgBox
  2. BInputBox
  3. CDialogBox
  4. DTextBox
正解と解説を見る

正解:BInputBox

InputBox関数はユーザーが入力するためのダイアログボックスを表示します。

この問題の解説ページを開く →

273文字列に含まれる半角・全角すべての空白を取り除くのに適した関数はどれか。

  1. ATrim
  2. BLTrim
  3. CReplace
  4. DRTrim
正解と解説を見る

正解:CReplace

Trim関数では文字列内の空白は除去できないため、Replace関数を使用します。

この問題の解説ページを開く →

274文字列「A12-B345」からハイフンより左側の文字列を抽出する際、組み合わせて使う関数として適切なものはどれか。

  1. ARight関数とInStr関数
  2. BLeft関数とInStr関数
  3. CMid関数とLen関数
  4. DLeft関数とLen関数
正解と解説を見る

正解:BLeft関数とInStr関数

InStr関数でハイフンの位置を取得し、Left関数でその位置より前の文字を抽出します。

この問題の解説ページを開く →

275StrConv関数で定数「vbProperCase」を指定した場合、文字列「standard」はどのように変換されるか。

  1. AStandard
  2. BSTANDARD
  3. Cstandard
  4. DStAnDaRd
正解と解説を見る

正解:AStandard

vbProperCaseは単語の先頭文字を大文字に変換するため、「Standard」になります。

この問題の解説ページを開く →

276Format関数で「分」を表す書式として「m」より実用的なものはどれか。

  1. As
  2. Bh
  3. Cf
  4. Dn
正解と解説を見る

正解:Dn

「m」は月と区別がつかなくなることがあるため、「n」を使う方が実用的です。

この問題の解説ページを開く →

277Format(12.3, "000.00") を実行した結果として正しいものはどれか。

  1. A12.3
  2. B012.30
  3. C012.3
  4. D12.30
正解と解説を見る

正解:B012.30

「0」は値がない桁にも0を表示するため、「012.30」となります。

この問題の解説ページを開く →

278Round(34.56, 1) を実行した結果として正しいものはどれか。

  1. A35
  2. B34.5
  3. C34.6
  4. D34
正解と解説を見る

正解:C34.6

2つ目の引数が1の場合、小数点第2位の「6」が四捨五入され「34.6」になります。

この問題の解説ページを開く →

279MsgBox関数で、クリックされたボタンの値を変数に受け取る場合の正しい記述はどれか。

  1. AMsgBox "処理を続行しますか?", vbOKCancel
  2. B変数 = MsgBox "処理を続行しますか?", vbOKCancel
  3. CMsgBox("処理を続行しますか?", vbOKCancel)
  4. D変数 = MsgBox("処理を続行しますか?", vbOKCancel)
正解と解説を見る

正解:D変数 = MsgBox("処理を続行しますか?", vbOKCancel)

戻り値を受け取る場合は関数にカッコを付ける必要があります。

この問題の解説ページを開く →

280MsgBox関数で「警告クエリ」アイコンと「OK/キャンセル」ボタンを同時に表示する引数の指定として正しいものはどれか。

  1. AvbOKCancel + vbQuestion
  2. BvbQuestion & vbOKCancel
  3. CvbQuestion, vbOKCancel
  4. DvbQuestion AND vbOKCancel
正解と解説を見る

正解:AvbOKCancel + vbQuestion

ボタンとアイコンの定数は、足し算(+)の形式で指定します。

この問題の解説ページを開く →

281InputBox関数で入力された値を受け取る際、文字列や数値など様々なデータ型に対応するために推奨される変数の型はどれか。

  1. AString
  2. BVariant
  3. CObject
  4. DInteger
正解と解説を見る

正解:BVariant

どのような値が入力されてもエラーを防ぐため、Variant型を使用します。

この問題の解説ページを開く →

282DateSerial関数に指定する引数のデータ型として正しいものはどれか。

  1. AVariant型
  2. B文字列
  3. C日付型
  4. D数値
正解と解説を見る

正解:D数値

DateSerial関数の引数には「年・月・日を表す数値」を指定します。

この問題の解説ページを開く →

283Mid("VBAエキスパートBasic", 4, 6) の戻り値として正しいものはどれか。

  1. Aエキスパート
  2. Bエキス
  3. CエキスパートB
  4. DエキスパートBa
正解と解説を見る

正解:Aエキスパート

4文字目から「6文字」を取得するため、「エキスパート」となります(文字位置ではありません)。

この問題の解説ページを開く →

284「 VBA エキスパート 」という前後と中間に空白がある文字列に対してTrim関数を実行した結果として正しいものはどれか。

  1. AVBAエキスパート
  2. BVBA エキスパート
  3. CVBAエキスパート(末尾に空白)
  4. DVBAエキスパート(先頭に空白)
正解と解説を見る

正解:BVBA エキスパート

Trim関数は両側の空白を取り除きますが、文字列内(中間)の空白は取り除けません。

この問題の解説ページを開く →

285Format関数の引数が数値や日付であっても、戻り値が「文字列」になる理由はどれか。

  1. A計算に使用するため
  2. Bデータ容量を減らすため
  3. Cデータの見た目を整えることが目的だから
  4. Dエラーを防ぐため
正解と解説を見る

正解:Cデータの見た目を整えることが目的だから

特定の形式で表示して見た目を整えることが目的のため、結果は文字列として返されます。

この問題の解説ページを開く →

286Round関数で「桁位置がマイナス」の指定をして四捨五入したい場合、正しく動作させるためにはどうすればよいか。

  1. AWorksheetFunctionオブジェクトを付ける
  2. BFormat関数を併用する
  3. CAbs関数で絶対値にする
  4. D引数を文字列で指定する
正解と解説を見る

正解:AWorksheetFunctionオブジェクトを付ける

桁位置がマイナスの場合は、WorksheetFunction.Roundを使う必要があります。

この問題の解説ページを開く →

287IsDate("20250210") を実行した結果として正しいものはどれか。

  1. AFalse
  2. BTrue
  3. Cエラー
  4. D0
正解と解説を見る

正解:AFalse

「20250210」は日付形式として認識されずFalseになります。

この問題の解説ページを開く →

288MsgBox("処理が完了しました", vbInformation) というコードを実行するとどうなるか。

  1. Aメッセージが表示される
  2. Bエラーになる
  3. C変数に値が代入される
  4. D無視される
正解と解説を見る

正解:Bエラーになる

戻り値を受け取らないのにカッコが付いているためエラーになります。

この問題の解説ページを開く →

289InputBox関数の引数の順番として正しいものはどれか。

  1. Aタイトル, メッセージ, 初期値
  2. Bメッセージ, 初期値, タイトル
  3. Cメッセージ, タイトル, 初期値
  4. D初期値, メッセージ, タイトル
正解と解説を見る

正解:Cメッセージ, タイトル, 初期値

InputBox関数は「メッセージ」「タイトル」「初期値」の順で指定します。

この問題の解説ページを開く →

290StrConv関数で文字列をカタカナに変換する文字種の定数として正しいものはどれか。

  1. AvbKatakana
  2. BvbKana
  3. CvbKatakanaWide
  4. DvbKata
正解と解説を見る

正解:AvbKatakana

カタカナに変換する定数は「vbKatakana」です。

この問題の解説ページを開く →
VBAエキスパート Excel VBA ベーシックの全分野一覧へ戻る