Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8779 / 13646 ツリー ←次へ | 前へ→

【31243】変数の引継ぎ もだ 05/11/15(火) 15:13 質問[未読]
【31244】Re:変数の引継ぎ 05/11/15(火) 15:27 発言[未読]
【31246】Re:変数の引継ぎ もだ 05/11/15(火) 15:44 質問[未読]
【31247】Re:変数の引継ぎ 05/11/15(火) 15:51 発言[未読]
【31251】Re:変数の引継ぎ Kein 05/11/15(火) 16:10 回答[未読]
【31254】Re:変数の引継ぎ もだ 05/11/15(火) 16:31 お礼[未読]

【31243】変数の引継ぎ
質問  もだ  - 05/11/15(火) 15:13 -

引用なし
パスワード
   macro1というマクロを、コマンドボタンから実行しようと
思います。

macro1内で使用する検索用文字列を
2種類にしたいので、変数に入れたいと思います。

macro1に変数を渡す方法を教えてください。。。


Private Sub CommandButton1_Click()

Dim reference As String

'******************************************
'検索文字列の指定
reference = "■■AAAA■■"
Call macro1
'******************************************

reference = Null '初期化

'******************************************
'検索文字列の指定
reference = "■■BBBB■■"
Call macro1
'******************************************

End Sub

よろしくお願いします。

【31244】Re:変数の引継ぎ
発言    - 05/11/15(火) 15:27 -

引用なし
パスワード
   こんにちは。

面倒くさがりな私は、同じモジュール内に
Public reference As String
こんなかんじでいれます。

もしかしたらもっといい方法があるかもしれませんが…。

【31246】Re:変数の引継ぎ
質問  もだ  - 05/11/15(火) 15:44 -

引用なし
パスワード
   ▼あ さん:

さっそくの、ご回答
ありがとうございます。


Public reference As String
----------------------------------------------
Private Sub CommandButton1_Click()

'******************************************
'検索文字列の指定
reference = "■■AAAA■■"
Call macro1
'******************************************

reference = Null '初期化

'******************************************
'検索文字列の指定
reference = "■■BBBB■■"
Call macro1
'******************************************


End Sub

こういう形でしょうか?

これだと、残念ながら
macro1の中にreferenceという変数は
引き継がれませんでした。。。

すみません、他に記載を変える場所があるのでしょうか?

よろしくお願いします。

【31247】Re:変数の引継ぎ
発言    - 05/11/15(火) 15:51 -

引用なし
パスワード
   macro1にいれてみてください。
試してみたらうごきました。
>Public reference As String

reference = Null '初期化
逆にここがうごかかったので、Nullじゃなくて
>reference = "" '初期化
のほうがいいかもしれません。

【31251】Re:変数の引継ぎ
回答  Kein  - 05/11/15(火) 16:10 -

引用なし
パスワード
   macro1 を2回に分けて実行する、ということなら例えば

Private Sub CommandButton1_Click()
  Dim St As String
 
  St = "AAA"
  Call macro1(St)
  St = "BBB"
  Call macro1(St)
End Sub

Sub macro1(St As String)
  MsgBox St
End Sub

などとします。また、一度に2つの変数を渡し一度の処理で終わらせるなら

Private Sub CommandButton1_Click()
  Dim St1 As String, St2 As String
 
  St1 = "AAA": St2 = "BBB"
  Call macro1(St1, St2)
End Sub

Sub macro1(St1 As String, St2 As String)
  MsgBox St1 & vbLf & St2
End Sub

てな感じです。

【31254】Re:変数の引継ぎ
お礼  もだ  - 05/11/15(火) 16:31 -

引用なし
パスワード
   ▼あ さん:
▼Kein さん:


ありがとうございました!
あ さんのおっしゃるとおり、macro1にいれたら
起動しました!!

ありがとうございました。

また、Keinさんの2回に分ける場合のやり方も
使用させていただきます。

大変勉強になりました。

ありがとうございましたm(_ _)m

8779 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free