ここから本文です

Excel VBA フォームの入力で空欄があるとエラーがでるのをなくしたい。 取引先...

yak********さん

2011/7/2911:33:10

Excel VBA フォームの入力で空欄があるとエラーがでるのをなくしたい。

取引先の一覧をつくるためにユーザーフォームを作りました。
資本金を空欄の状態で登録をクリックするとエラーがでます。

資本金、○○○、※※※は空欄で登録する場合もあるので困っています
どのようにコードを修正すればよいでしょうか?

Private Sub 登録_Click()
Dim row As Integer
row = WorksheetFunction.CountA(Sheets("一覧").Columns(1)) + 1

Sheets("一覧").Cells(row, 1).Value = 登録番号
Sheets("一覧").Cells(row, 2).Value = 商号又は名称
Sheets("一覧").Cells(row, 3).Value = 支店名
Sheets("一覧").Cells(row, 25).Value = ヨミガナ
Sheets("一覧").Cells(row, 4).Value = CLng(資本金)
Sheets("一覧").Cells(row, 5).Value = 代表者
Sheets("一覧").Cells(row, 6).Value = 所在地
Sheets("一覧").Cells(row, 7).Value = 所在地2
Sheets("一覧").Cells(row, 8).Value = 電話番号
Sheets("一覧").Cells(row, 9).Value = CLng(○○○)
Sheets("一覧").Cells(row, 10).Value = CLng(※※※)

閲覧数:
1,314
回答数:
3
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

pui********さん

2011/7/2911:51:27

IF ○○○ = "" THEN
Sheets("一覧").Cells(row, 9).Value = ""
ELSE
Sheets("一覧").Cells(row, 9).Value = CLng(○○○)
END IF

としてはどうでしょうか??

質問した人からのコメント

2011/7/31 23:25:12

降参 解決しました。

勉強不足で変数に代入する、が分からず、、、。もっと勉強しないといけませんね。

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

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

han********さん

編集あり2011/7/2912:33:32

CLngではなく、Valを使えばよいと思います。
CLngは""を0に変換できないようです。

【追記】
もし空白は空白のままでよいのなら、CLngもValも不要です。

dan********さん

2011/7/2911:51:29

なぜClngで数値型に直しているのか分かりませんが、
とりあえず「変数」を用意し一旦変数に代入してからsheetに書き込んではどうでしょうか。

Dim Var○○ As Variant →変数名は適宜、型も不明ですのでVariantにしました。
Dim Var※※ As Variant

If Me.○○○ = Null then
Var○○ = ""
Else
Var○○ = Clng(Me.○○○)
End if
If Me.※※※ = Null then
Var※※ = ""
Else
Var※※ = Clng(Me.※※※)
End if

省略

Sheets("一覧").Cells(row, 9).Value = Var○○
Sheets("一覧").Cells(row, 10).Value = Var※※

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる