配列にそれぞれ値を入れると「宣言が必要」とエラーが出る への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 在浩  (社会人)
投稿日時
2010/1/17 08:09:47
' txtview Textbox = Muliline Is True
Option Explicit
Option Base 1
Dim strCnt(245) As String
Private Sub Form_Load()
Dim strArray As Variant
Dim intK As Integer
intK = 1
For Each strArray In strCnt
strArray = intK & ". " + "Init"
strCnt(intK) = strArray
txtView = txtView + strCnt(intK) + vbCrLf
intK = intK + 1
Next strArray
End Sub
Private Sub cmdOk_Click()
' cnt(1) = "ああ"
' cnt(2) = "いい"
' cnt(3) = "うう"
':
':
' cnt(101) = "ええ"
' cnt(102) = "おお"
'
':
':
' cnt(243) = "かか"
' cnt(244) = "きき"
' cnt(245) = "くく"
' cnt(10) = "ここ"
End Sub
Option Explicit
Option Base 1
Dim strCnt(245) As String
Private Sub Form_Load()
Dim strArray As Variant
Dim intK As Integer
intK = 1
For Each strArray In strCnt
strArray = intK & ". " + "Init"
strCnt(intK) = strArray
txtView = txtView + strCnt(intK) + vbCrLf
intK = intK + 1
Next strArray
End Sub
Private Sub cmdOk_Click()
' cnt(1) = "ああ"
' cnt(2) = "いい"
' cnt(3) = "うう"
':
':
' cnt(101) = "ええ"
' cnt(102) = "おお"
'
':
':
' cnt(243) = "かか"
' cnt(244) = "きき"
' cnt(245) = "くく"
' cnt(10) = "ここ"
End Sub
投稿者 見習レベル  (社会人)
投稿日時
2010/1/17 07:03:05
無事解決いたしました。
解説してくださった方に感謝します。
解説してくださった方に感謝します。
投稿者 はなちゃん  (社会人)
投稿日時
2010/1/17 06:41:25
あら、ほんとね。
やだぁ。
やだぁ。
投稿者 在浩  (社会人)
投稿日時
2010/1/17 06:41:16
option baseステートメントがない限り、配列の添え字のエラーもあるようです。
cnt(0)?cnt(244)まで使用できるだろうと考えています..
cnt(0)?cnt(244)まで使用できるだろうと考えています..
投稿者 宣次郎  (社会人)
投稿日時
2010/1/17 06:40:02
入門の本でも読んどけ。
場違いだぞ。おまえ。
場違いだぞ。おまえ。
投稿者 しげ  (社会人)
投稿日時
2010/1/17 06:35:27
実際のプログラムは
○○ Sub
ここに書く
End Sub
に書きます
るしぇさんの書かれている内容だと
フォーム全体でcnt変数が使えます。
引用します。
Private Sub Test ' 関数はここから
Dim cnt(245) As String
cnt(1) = "ああ" ' 代入式
cnt(2) = "いい" ' 代入式
cnt(3) = "うう" ' 代入式
End Sub ' 関数はここまで
これだと、Testサブ内でしかcnt変数を使用することができません。
Public cnt(245) As String ' 宣言
Private Sub Test ' 関数はここから
cnt(1) = "ああ" ' 代入式
cnt(2) = "いい" ' 代入式
cnt(3) = "うう" ' 代入式
End Sub ' 関数はここまで
Publicで宣言すると別フォームでもcnt変数を使うことができます。
○○ Sub
ここに書く
End Sub
に書きます
るしぇさんの書かれている内容だと
フォーム全体でcnt変数が使えます。
引用します。
Private Sub Test ' 関数はここから
Dim cnt(245) As String
cnt(1) = "ああ" ' 代入式
cnt(2) = "いい" ' 代入式
cnt(3) = "うう" ' 代入式
End Sub ' 関数はここまで
これだと、Testサブ内でしかcnt変数を使用することができません。
Public cnt(245) As String ' 宣言
Private Sub Test ' 関数はここから
cnt(1) = "ああ" ' 代入式
cnt(2) = "いい" ' 代入式
cnt(3) = "うう" ' 代入式
End Sub ' 関数はここまで
Publicで宣言すると別フォームでもcnt変数を使うことができます。
投稿者 見習レベル  (社会人)
投稿日時
2010/1/17 06:34:33
参考にします。
ありがとうございました
ありがとうございました
投稿者 neptune  (社会人)
投稿日時
2010/1/17 05:09:07
このサイト内で解説してくれてますから勉強しましょう。
特に初級講座は絶対必要な知識でこれらの知識なしではプログラムは書けません。
初級講座
第8回 もっと変数
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard8.htm
特に初級講座は絶対必要な知識でこれらの知識なしではプログラムは書けません。
初級講座
第8回 もっと変数
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard8.htm
投稿者 見習レベル  (社会人)
投稿日時
2010/1/17 04:45:33
なるほどそうだったんですか。
プロジャー内で代入していますが、これって他のプロジャーに影響というか、利用することはできるのでしょうか?
プロジャー内で代入していますが、これって他のプロジャーに影響というか、利用することはできるのでしょうか?
投稿者 るしぇ  (社会人)
投稿日時
2010/1/17 03:55:02
エラーメッセージ通りでは?プロシージャ(関数)の外側に代入ステートメント
(値を代入する式)は書けません。
(値を代入する式)は書けません。
Dim cnt(245) As String ' 宣言
Private Sub Test ' 関数はここから
cnt(1) = "ああ" ' 代入式
cnt(2) = "いい" ' 代入式
cnt(3) = "うう" ' 代入式
End Sub ' 関数はここまで
投稿者 見習レベル  (社会人)
投稿日時
2010/1/17 02:31:13
VBを使ってアプリケーションを作っているのですが、配列を宣言して各々に文字を入れているのですが、
いざビルドしてみようとすると、cnt(1)~cnt(101)までだけなぜがエラーが出ます。
どこが間違っているのでしょうか。
ソース
Dim cnt(245) As String
cnt(1) = "ああ"
cnt(2) = "いい"
cnt(3) = "うう"
:
:
cnt(101) = "ええ"
cnt(102) = "おお"
:
:
cnt(243) = "かか"
cnt(244) = "きき"
cnt(245) = "くく"
cnt(10) = "ここ"
エラー内容
代入ステートメントやループ ステートメントなどの非宣言ステートメントが、プロシージャの外側にあります。プロシージャの外側に記述できるのは宣言だけです。
または、プログラミング要素が、Dim や Const などの宣言キーワードを使用せずに宣言されています。
いざビルドしてみようとすると、cnt(1)~cnt(101)までだけなぜがエラーが出ます。
どこが間違っているのでしょうか。
ソース
Dim cnt(245) As String
cnt(1) = "ああ"
cnt(2) = "いい"
cnt(3) = "うう"
:
:
cnt(101) = "ええ"
cnt(102) = "おお"
:
:
cnt(243) = "かか"
cnt(244) = "きき"
cnt(245) = "くく"
cnt(10) = "ここ"
エラー内容
代入ステートメントやループ ステートメントなどの非宣言ステートメントが、プロシージャの外側にあります。プロシージャの外側に記述できるのは宣言だけです。
または、プログラミング要素が、Dim や Const などの宣言キーワードを使用せずに宣言されています。
場違いはあんた。というか冷たいぜ。
こんな事書く暇があったらVisualBasic中学生のトップページアクセスカウンタの下の文章から見直せ。
ここのサイトはどう言う調べ方をすればいいかも分からない人が質問したりする掲示板でしょ。
コンボボックスに小学生を選択できるぐらいなのですから。
掲示板に書くネチケット入門ぐらい守ろうぜ。