- ベストアンサー
「?」をうまく変数に収めたい
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
?ではなく”の書き振りが間違っています。 正解: s = "<a href=""/user.php3?u=" #参考 エクセルの「新しいマクロの記録」の機能を使い、 ワークシート上でセルに実際に <a href="/user.php3~?u= という文字列を記入しEnterする動作をマクロに録ってみると、どう書けばイイのかエクセルが教えてくれます。
関連するQ&A
- グローバル変数などについて
Option Explicit Dim str1 As String '・・・(1) Sub テスト() Dim str2 As String '・・・(2) str1 = "テスト1" str2 = "テスト2" MsgBox str1 MsgBox str2 End Sub (1)はグローバル変数と言うとの事ですが (2)は何変数と言うのでしょうか? ローカル変数ですか? また、(1)がdimではなく、 Public str1 As String となった場合でも、 プロシージャーの外にあれば、グローバル変数と言うのでしょうか?
- ベストアンサー
- オフィス系ソフト
- 変数の宣言(s As String)で良い理由
vbaについてしつもんです。 標準モジュールで Option Explicit Dim s As String Sub test1() Call test2("qqq") End Sub Sub test2(s As String) MsgBox s End Sub としたのですが、もしかしてDim s As Stringって必要ないのでしょうか? あってもなくても動きます。 (s As String)があるからDim s As Stringは不要なのですか? だとしたら、(s As String)に dim や publicをつけなくて良い理由を教えてください。
- ベストアンサー
- オフィス系ソフト
- 変数にnullを代入するには
諸事情で、変数の値をNullにしたいのですが、 Sub a() Dim mystr As String mystr = "moji" '他の処理 mystr = Null End Sub だと、実行時エラー94になります。 多分、NULLは値じゃないから代入できないんだと思いますが、どうすれば変数をnullにできるのでしょうか? String型が問題であれば、何にすればいいですか?
- ベストアンサー
- オフィス系ソフト
- vbaの 変数の宣言 記号は使えない?
vbaの 変数の宣言 記号は使えない? Sub test1() dim st @ End Sub みたいに変数の型を As String ではなく記号で表現ってできないんでしたっけ? エラーになってしまいます。
- ベストアンサー
- オフィス系ソフト
- 変数の使い方の注意点なんですが・・・?
Windows XP Home Edition Excel 2002 当方は、まだ基本がしっかり頭に入っていないので、 勝手な疑問が出てきているようでございます。 まだまだ勉強中ですが、 下記コードの場合、動作はしますが、 変数 c の使い方は間違っているのではないですか? 4は、 同プロシージャ内なので、 変数 c と r というように、区別して記述しないといけないのではないかと思って いるのですが。 3は、 プロシージャが違うので問題はないと思っております。 Dim r As Range, s As Range と記載してもいいのでしょうか? つまり、曖昧に、ごっちゃ混ぜにしてしまうと、エラー等、PCに支障をきたすことになって しまうのではないかと心配でございます。 また、こんな記述だと、エラー等、PCに支障をきたすことになって しまうという例を 1つか2つ(又はHP等) 教えて頂けると有り難いです。 初歩的な例で結構です。 全くの初歩的な(ざっくりな)お答えで結構ですのでよろしくお願い致します。 Sub てす1() Dim r As Range, s As Range Set s = Cells(1, 1) s.Select MsgBox " A1 です " End Sub '------------------------ Sub てす2() Dim r As Range, s As Range Set s = Cells(1, 2) s.Select MsgBox " A2 です " End Sub '------------------------ Sub てす3() Dim r As Range, s As Range Call てす1 Call てす2 MsgBox " A1とA2 です " End Sub '------------------------ Sub てす4() Dim r As Range, s As Range Set s = Cells(1, 1) s.Select MsgBox " A1 です " Set s = Cells(1, 2) s.Select MsgBox " A2 です " MsgBox " A1とA2 です " End Sub
- ベストアンサー
- オフィス系ソフト
- vbaで配列に値を格納する場合
vbaで配列に値を格納する場合 変数の宣言はどちらを使った方が良いのでしょうか? Sub Sample1() Dim i As Long Dim myStr As String Dim tmp() As String myStr = "a,i,u,e,o" tmp = Split(myStr, ",") End Sub か Sub Sample1() Dim i As Long Dim myStr As String Dim tmp As Variant myStr = "a,i,u,e,o" tmp = Split(myStr, ",") End Sub でも問題なく動くのですが、 Variant型での宣言はあまりしない方が良いですか? あと Dim tmp() As String ならエラーにならないのですが Dim tmp As String だとエラーになってしまう理由がよくわからないので教えて頂けますか?
- ベストアンサー
- オフィス系ソフト
- サブフォームに変数を代入し、RecordSourceの値を取得したい
サブフォームに変数を代入し、RecordSourceの値を取得したいのですがうまくいきません。 Sub test1() Dim サブフォーム As String Dim フォーム As String フォーム= "土台" サブフォーム = "フォーム1" MsgBox Form_フォーム1.RecordSource End Sub ******************************************************************* Sub test2() Dim サブフォーム As String Dim フォーム As String フォーム= "土台" サブフォーム = "フォーム1" MsgBox Form_フォーム1.RecordSource MsgBox Forms(フォーム).Controls(サブフォーム).RecordSource End Sub オブジェクトは、このプロパティまたはメソッドをサポートしていません。(Error 438) ******************************************************************* Sub test3() Dim サブフォーム As String Dim フォーム As String フォーム = "土台" サブフォーム = "フォーム1" MsgBox Forms(サブフォーム).RecordSource End Sub 実行時エラー'2450' マクロの式またはVisual Basic コート゛で参照されている 'フォーム名'フォームが見つかりません。 ******************************************************************* test1~3のうち test1のみはうまくいくのですが 変数を代入したいです。 ヘルフ゜のには Forms![受注]![受注サブフォーム].Formとなってますが これじゃ変数を代入できないですよね。 どうすればサブフォームに変数を代入しつつ、RecordSourceの値を取得できるのでしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 参照渡しをする時は、渡される側は違う変数を使う?
参照渡しをする時は、渡される側は違う変数を使うべきなのでしょうか? VBAのお勉強をしているのですが Sub test1() Dim mystr As String mystr = "a" Call test2(mystr) Call test3(mystr) End Sub Sub test2(ByRef mystr As String) MsgBox mystr End Sub Sub test3(ByRef mystr2 As String) MsgBox mystr2 End Sub この場合、test2とtest3ではどちらを使ったほうがいいのでしょうか? test3は、mystr2 というmystrとは違う変数を使っていますが、 test2は、test1のmystrと同じ変数を使っています。 test1と同じ変数を使おうが違う変数を使おうが どちらにしろ (ByRef 変数名 As String) で宣言するから、変わらないのでしょうか?
- ベストアンサー
- オフィス系ソフト
- vba関数 変数の中に該当の文字がいくつあるか
vba関数 変数の中に該当の文字がいくつあるかを取得するには? Sub Sample() Dim moji As String moji = "aiuuueou" MsgBox "uは4つです" End Sub こんな感じで、moji という変数の中にuはいくつあるかを取得する方法はありますか?
- ベストアンサー
- オフィス系ソフト
お礼
?の部分がコンパイルエラーになった為、?が原因だと思ってました。 マクロの記録で実験してみたところ、そうなりました。 ご回答ありがとうございました。