No.2
- 回答日時:
「.cells」ということは上に「With sheets(シート名等)」があるのでしょう。
内容は、
もし、そのシートの行(Row)番号i、列(Column)番号cntcolのセルの内容が”TO"(←文字列です)だったら(Then)
という意味です。
i と cntcol はLong型(またはInter型)で
cntcol = 定数かな?
for i=○○ to ××
next
のように指定していると思います。
一応If文の説明
If (条件) then
条件が成り立つ場合(True)の処理
.....
else ’必要の無い場合はありません
それ以外(False)の処理
End If
となっているはずです。
No.3ベストアンサー
- 回答日時:
No.2です。
”TO”の場合は問題なく動作するのですね?
>黄色くエラーになってしまっているのですが、
「セルB5」のことでしょうか?
セルB5は”CC”ですので、(当然”TO”ではありません。つまり)前回の回答の「Else」の処理部分にエラーの原因があるのしょう。
>コードは下記のように設定されています。
コード(命令文)はどこでしょうか?
Else~EndIf
のコードがわからないと、どうにもなりません。
または、Elseの前に「Exit ○○」のように処理を抜け出している場合は、EndIf 以降の場合も考えれらます。
「黄色くエラー」がコードの事でしたら、そのコードがエラーを起こしていると思われますが、おそらくその部分だけを示されても、解決には至らないと思います。
No.4
- 回答日時:
んーー。
。ためしにIf .Cells(i, countcol) = "TO" Then
に直してみてください。
「cntcol」は変数だと思われるので、冒頭に(Dim countcol As 〇〇〇)といった
変数宣言があるはずです。
「col」はcolumn(列)の略だと思われます。
「cnt」はcount(カウント)のスペルミスだと推察します。
今まで動いていたのにエラーが出るということなら、おそらく何かの拍子に
countのouが消えてしまったのでしょう。
No.5
- 回答日時:
.Cells(i, cntcol) でiはfor文のiだから良いけど、
cntcolはどこにもセットされていない。列番号なんだけどB列だから値は2の筈。
また、見る限り
For i = 5 To ・・・は
For i = 4 To・・・で無いといけないけど。
No.6
- 回答日時:
「CreateObject("Scripting.Dictionary")」は使ったことが有りません。
怪しいのは
「Dic.Add buf, ""」
参考になりそうなのは、ここですかね。
質問者さんは、ここを読んで、どれくらい理解できますか。
「No.17 VBAで連想配列 ~ Scripting.Dictionary」
http://www.niji.or.jp/home/toru/notes/17.html
「ちんぷんかんぷん」であったなら、力不足です。
あとは、
>'セミコロンで接続
>keys = Dic.keys
>fil = Join(keys, ";")
一回しか処理していないのに、この構文で接続できるのでしょうか。
そのほか
countcol の値が0になっていませんか。(定義が見当たりません)
漠然と、「エラーが出ます」だけでは、開発者でもない者に原因は見当もつきません。
「何をしたのか」すら分からないのです。
ところで、DEBUG や ウォッチウィンドウ はご存知しょうか。
通常はこれらを駆使して怪しいところを確認しながら、エラーの原因を取り除きます。
当初の質問と内容がだいぶ変わってきてますので、もうそろそろ締め切った方がよさそうです。
次は、エラーの原因を生んでいる行(おそらく黄色になっている)と、それを含む構文を示して、新たに質問することをお勧めします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) 実行時エラー´5854´ 文字列型パラメーターが長すぎます。 3 2023/06/08 21:17
- Visual Basic(VBA) VBAで実行時エラー'424' オブジェクトが必要ですと出る 2 2022/10/07 09:25
- Visual Basic(VBA) excel VBA if文について 3 2022/03/27 17:42
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) ワークシート内を検索 1 2022/12/19 23:46
- Visual Basic(VBA) 今日の日付が過ぎたらその行を削除したい 1 2023/04/01 20:06
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) VBAでのループ順序について 3 2023/03/13 10:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル関数を教えてください
-
UserForm1.Showでエラーになり...
-
エクセルVBA 「On Error GoTo...
-
ACCESS VBAのSplit()関数の使用...
-
マクロの「SaveAs」でエラーが...
-
Excel vbaについての質問
-
ステートメントが見つかりません
-
実行時エラー 438 の解決策をお...
-
VBScriptのエラー処理について
-
「実行時エラー '3167' レコー...
-
JAVA Jasper Report でのQRコー...
-
VBでSQL文のUPDATE構文を使った...
-
マクロで"#N/A"のエラー行を削...
-
お助けください!VBAのファイル...
-
Unityのエラー「Rigidbody.AddF...
-
エクセルVBAで埋め込みグラフ(C...
-
VBスクリプトでIEの404 not fou...
-
ある1人の友達のLINEで、少しの...
-
EXCELのVBAの中でMOD関数を使う...
-
エクセルVBAで#N/Aのようなエ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
VBAでfunctionを利用しようとし...
-
お助けください!VBAのファイル...
-
文字列内で括弧を使うには
-
実行時エラー 438 の解決策をお...
-
マクロで"#N/A"のエラー行を削...
-
On ErrorでエラーNoが0
-
エクセルVBA 「On Error GoTo...
-
VBA データ(特定値)のある最...
-
実行時エラー'-2147467259(8000...
-
【VBA】ワークブックを開く時に...
-
VBでSQL文のUPDATE構文を使った...
-
ACCESSで値を代入できないとは?
-
マクロの「SaveAs」でエラーが...
-
Excel vbaについての質問
-
インポート時のエラー「データ...
-
Filter関数を用いた結果、何も...
-
「実行時エラー '3167' レコー...
-
バッチファイルで、あるスクリ...
おすすめ情報
黄色くエラーになってしまっているのですが、どこが間違っているのか原因不明で教えてください。
コードは下記のように設定されています。
元のエクセル添付しました。
そもそもの理解がない中で質問をしており申しわけありません。
コードは下記のように入力されております。
文字数の関係で分割させていただきます。
'#####宛先作成ルーチン_TO
Sub MakeTO()
With Sheets("宛先リスト(追加はこちらへ)")
'メールアドレスTO取得
Set Dic = CreateObject("Scripting.Dictionary")
For i = 5 To .Range("E65536").End(xlUp).Row
If .Cells(i, cntcol) = "TO" Then
buf = .Cells(i, 5).Value
If Not Dic.Exists(buf) Then
Dic.Add buf, ""
End If
End If
Next i
'セミコロンで接続
keys = Dic.keys
fil = Join(keys, ";")
Set Dic = Nothing
End With
End Sub