過去の質問を閲覧していて入力方法が解らなく、初歩的な質問だとは思うのですがご教授頂きたく宜しくお願い致します。
「Rst.FindFirst "名称コード" & " = " & "' 101 "'」という記述を「Microsoft Visual Basic for Applications」を使用し「"' 101 "'」と入力する場合、半角AでShift+2(")で、「"」が入力できますがそのまま、Shift+7(')と入力すると、「"の3番目」がセミコロンの下部分の様な記号が入力されてしまいます。つまり「"'」となりません。(この質問ページでは「"'」と入力出来ますが)どの様にすれば「"'」と入力出来ますでしょうか?
No.7ベストアンサー
- 回答日時:
#1です。
再度。> 「Rst.FindFirst "名称コード" & " = " & "' 101 "'」という記述
そもそもこの記述は何かを参考になさってるのでしょうか。
このサイトへの転記ミスかお尋ねした部分が補足では確定してない。
転記ミスでは無いなら参考にした「何か」そのものの誤記ではありませんか?
Rst.FindFirst に続く右側(引数)ですが
必要としている条件を記述する部分です。
質問文からは「名称コードが値[101]に等しいもの」と読めます。
(101の前後に半角スペースがあるのが気になりますが)
新たな疑問ですが、「名称コード」のデータ型は何ですか?
値そのものをクォーテーションで囲もうとしているからには
文字型(=テキスト型)で合ってますか?
「いや、数値型でした」だったら
条件のために値101をクォーテーションで囲む必要はなく、
VBAのコード記述のためにダブルクォーテーションで囲むだけなので
Rst.FindFirst "名称コード" & " = " & "101”
になります。
「はい、文字型です」なら、「クォーテーションで囲むこと」は
必要ですが、囲む文字のルールがあります。
クォーテーションとして使えるのは
「’」シングルクォーテーション(アポストロフィ)か
「”」ダブルクォーテーション のどちらか。
(他は割愛)
シングル・ダブル何れの場合も「値の両端を同じもので囲む」ので
引数は「名称コード = ’101’」か「名称コード = "101”」の
どちらかになります。
ところが質問で「入力できない」とおっしゃってる
>「Rst.FindFirst "名称コード" & " = " & "' 101 "'」
では、両端を囲おうとしているのは「”(Shift+2)’(Shift+7) で囲む」ですから
もし記述できたとしても実行時にはエラーになります。
動作確認をしてみて下さい。
シングルでなら
>「Rst.FindFirst "名称コード" & " = " & "' 101 "'」
を
Rst.FindFirst "名称コード" & " = " & "'101'”
へ変更し実行。
「ダブルクォーテーションで囲いたい亅にこだわるなら
101の両端を”(Shift+7)×3で囲って
Rst.FindFirst "名称コード" & " = " & ”””101”””
と変更し実行してみて下さい。
「文字列中に”を記述するには”を2回続ける」という
VBAのルールがあります。
最後の&に続く9文字は
1~1 文字列記述の始まりの”
2~3 文字列中に”を表すための””
4~6 値101
7~8 文字列中に”を表すための””
9~9 文字列記述の終りの”
で。
最後にもう一度
成し遂げたいことは
「”’101”’」(Shift+2、Shift+7、101、Shift+2、Shift+7)にこだわること
なのか
VBAを実行できるようにすること
のどちらなのでしょうか?
この回答への補足
度々の回答を有難うございます。かなり専門的になってきてしまいましたが、私の知りたいことは「質問」の表題に有りますように「クオーテーションの入力方法」ただその一点です。それがどんな意味になるのかは、今の私にとって「次のステップ」です。「Rst.-----」も、同じような質問が無いか、当サイトの「過去の質問」を「閲覧」していてたまたま見かけたものを引用させてもらっただけです。その意味では「回答NO3」の方の、「トリプルクオーテーションなんか有りませんというのが正解。」が一番納得した回答でした。勉強します。本当にお手数を頂き有難うございました。
補足日時:2014/12/07 17:15No.5
- 回答日時:
> この質問ページでは「"'」と入力出来ます
それは、表示されているフォントがそう見えるだけです。
メモ帳を開いて、
この質問をコピー → メモ帳にペースト
としてみてください。
VBAと同じ文字になりませんか?
プログラムが見るのは、「どの文字」かであって、「どんな風に見えるか」ではありません。
名前コード='101'
という文字列を、
名前コード
=
'101'
に分割します。それぞれをVBAの文字列にするためにダブルクォートでくくって
"名前コード"
"="
"'101'"
にします。これを & で連結しなおすと
"名前コード" & "=" & "'101'"
になります。
入力したいのは、上のものではないですか?
最後が ' " の順になっていることに注意してください。
また、そのサンプルは「101」のかわりに変数 pName を使いたいので、
'
変数pName
'
を連結したい、そこで、 ' を"'"とくくってVBAの文字列にして、それを連結した
"'" & pName "'"
となっている。あるいは、前後に別の文字列が入っていて
"前の文字列の続き '" & pName "' 後に文字列が続く"
となっているものでは?
> キーボードから入力した結果が、回答2さんへの「補足コメント」になります。
本当に、指定した順番に入力しましたか?
それなら、 最後は Shift-7 Shift-2 で ' " となり、最後が ' になるはずは絶対に無いのですが。
No.4
- 回答日時:
>「'''」の入力以外に問題があるのでしょうか?
そもそも、文法というか記法の理解が出来ていません。
" (Shift+2) は、文字列定数を囲むものです。' (Shift+7) はコメントの始まりです。
" は、「ダブルクォーテーションマーク」「ダブルクォート」「引用符」などと言います。
' は、「シングルクォーテーションマーク」「シングルクォート」「アポストロフィ」と言います。カンマ( , )が上にずれた形をしています。英語の isn't とかに出てくる記号。
Rst.FindFirst "名称コード" & " = " & "' 101 '"
は、下記のように入れてください。
Rst.FindFirst
Shift+2
名称コード
Shift+2
&
Shift+2
=
Shift+2
&
Shift+2
Shift+7
101
Shift+7
Shift+2
この回答への補足
回答を有難うございます。「下記のように入れてください。」の10行目から最後までは、
「回答2」さんの指摘と同じですね、そのようにキーボードから入力した結果が、回答2さんへの「補足コメント」になります。
No.3
- 回答日時:
釣れていますね!
このページのスタイルシートのフォント部分は次の通り:
body { font-family: arial,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,sans-serif; line-height: 1.2; letter-spacing: 0;}
従ってブラウザの文字サイズにもよるが「過去の質問を閲覧してい」ると「"'」とりぷるクオーテーションという一文字に見えるけど、
VBAのエディタ上では等幅フォントを使っているのでダブルクオーテーション+シングルクオーテーションの2文字に見えるという2chネタ
トリプルクオーテーションなんか有りませんというのが正解。
意味があるとは思えないがVBAのエディタのフォントをArialかつ等幅表示以外ににする事ができれば2文字が詰まって一文字にみえるんじゃないの?
No.2
- 回答日時:
すでにある回答の通りですが、「"' 101 "' と入力したい」というのは間違いで、"' 101 '" と入力してください。
つまり、Shift+2 Shift+7 101 Shift+7 Shift+2 と入力するのが正しいのです。"' 101 "' と入力すると、2つめの " が文字列の終わりとなり、最後の ' がコメントの始まりとなり、それはお望みの物では無いはずです。
そう入力してしまうと、"' 101 " ' と1つスペースが空いて、 ' の文字の色が変わります。
この回答への補足
回答を有難うございます。早速「Microsoft Visual Basic for Applications」で、ご指摘の通りに入力し「End Sub」しますと、「"' 101 " ' と1つスペースが空いて、 ' の文字の色が変わります。」との指摘ですが「'' ' 101 '''」とスペースが前の方の「'''」に生じてしまいます。(「'''」の3番目の「'」は最初の「質問文」に記した通りセミコロンの下部分の「オタマジャクシ」の様な記号で表示されています。)サンプルコードで「''' & pName & '''」とした場合も同じけっかです。文字の色は変わっています。実行してみると、構文エラー とのメッセージが表示され実行出来ませんでした。
「'''」の入力以外に問題があるのでしょうか?
No.1
- 回答日時:
”名称コード = ’101’”という文字列が必要なんですね?
> 「Rst.FindFirst "名称コード" & " = " & "' 101 "'」という記述
末尾の ” と ’ の順序が逆
Rst.FindFirst "名称コード" & " = " & "' 101 ’”が正しいと思います。
単にここへの転記の際のミスで、
真に「キーボードからの入力がおかしい」のなら、ごめんなさい
この回答への補足
早速の回答を有難うございます。私の質問が支離滅裂になってしまい、申し訳ありません。要するに「'''」をキーボードから、どの様に入力するのか?と言う事です。
改めて、宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 Windowsのショートカットキーの割り当てについて質問です。 Ctrl+Shift+Rという入力を 1 2022/11/07 09:53
- iOS これは日本語入力の大発明ですか? 7 2022/12/21 07:17
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- C言語・C++・C# Microsoft Visual Studio Community 2019 タブキーが入力できない 1 2022/04/30 06:39
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- Excel(エクセル) ExcelのVBAコードについて教えてください。 1 2022/06/20 09:22
- Excel(エクセル) ①Excel シートに、「=」を入力したいのですが、shift+「ほ」を押すと、「_」と入力されます 2 2022/04/28 12:59
- その他(動画サービス) TVerでPINコードを求められてログイン出来ない。 AndroidTVであらかじめスマホアプリやP 2 2023/07/17 13:33
- Visual Basic(VBA) 【マクロ】表への繰り返し転記について 1 2022/11/19 16:30
- Visual Basic(VBA) Excelにて、シート1の行を削除するとシート2のシート1と同じ番号の行も削除したい 3 2022/05/08 04:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NET2003 テキストボックスに...
-
「終了していない文字列型の定...
-
正整数の半角数字かどうか判定する
-
gas 全角数字を半角数字に変換
-
Excel VBA カタカナ セル判定...
-
Javascript 全角カナ+半角スペ...
-
ハイフンだけ置換したい。
-
javascript 文字列の最後から1...
-
c言語で「文字列(最大80文字)お...
-
Vba SelStart、SelLen教えてく...
-
メルアドをチェックする正規表現?
-
C#でTextBoxに数値のみ入力可能...
-
【教えて下さい】正規表現クイズ
-
エクセルVBA/ Formatで文字列が...
-
JSPの処理の途中で、JavaScript...
-
VBA ステータスバー DoEvents
-
htmlのfileタグに自動で値を入...
-
Excel VBA にて JavaScript の...
-
〔Excel:VBA〕マクロの実行が異...
-
どんなオブジェクトでも表示で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba SelStart、SelLen教えてく...
-
VB.NET2003 テキストボックスに...
-
gas 全角数字を半角数字に変換
-
「終了していない文字列型の定...
-
正整数の半角数字かどうか判定する
-
VBAによる第3、4水準文字の判定...
-
ハイフンだけ置換したい。
-
VC#でテキストボックスに変数の...
-
C#でTextBoxに数値のみ入力可能...
-
エクセル 半角英数6文字以上 ...
-
漢字などを正規表現でパターン...
-
JavaScriptに関する質問です。 ...
-
javascript 文字列の最後から1...
-
正規表現について
-
エクセルVBA/ Formatで文字列が...
-
禁止文字チェック
-
Javascript 全角カナ+半角スペ...
-
CListCtrl の特定のセル(アイ...
-
文字認証の問題
-
Access VBAで、数字だけをチェ...
おすすめ情報