お世話になります。現在、他のファイルを開かずにコピペーストを思案中なのですが、空白の時には空白にするにはどうすればよいでしょうか?


Sub テスト()
Dim file_nm as String
file_nm = "【基礎】" & range("A27").text & range("A28").text
range("A30").value =file_nm
range("A1:A24").formulaR1C1= "='D:\10基礎\[" & file_nm & ".xls]基礎'RC"
End Sub

A27 と A28 には日付に関する数値が入っています。
A27=05  (5月)
A28=06  (6日)
そして、日付を変更しながら日次データ更新をする予定です。
しかし、問題は空白はゼロ表示になってしまいますので、
これを空白にして表示させたいのです。
どうぞお力を貸して頂ければ幸いです。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2007/12/16 12:52:00
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:SALINGER No.1

回答回数3454ベストアンサー獲得回数969

ポイント50pt

メニューのツール→オプション→表示→ゼロ値のチェックをはずすのはどうでしょうか。

id:dadan_dan

SALINGERさん 先日に引き続きありがとうございます。

頂いた答えに関しまして、ゼロを表示しなければならないケースも少しあります。

それをも消す事はできませんので。。。

それと、先程思い付いて試行してエラー続きなのですが、IF関数を使えないのでしょうか?

2007/12/15 22:30:06

その他の回答1件)

id:SALINGER No.1

回答回数3454ベストアンサー獲得回数969ここでベストアンサー

ポイント50pt

メニューのツール→オプション→表示→ゼロ値のチェックをはずすのはどうでしょうか。

id:dadan_dan

SALINGERさん 先日に引き続きありがとうございます。

頂いた答えに関しまして、ゼロを表示しなければならないケースも少しあります。

それをも消す事はできませんので。。。

それと、先程思い付いて試行してエラー続きなのですが、IF関数を使えないのでしょうか?

2007/12/15 22:30:06
id:careplanner No.2

回答回数338ベストアンサー獲得回数13

ポイント50pt

if関数を使用して、0だったら""という感じには出来ないでしょうか?

ActiveCell.FormulaR1C1 = "=IF(x=0,"""",x)"

id:dadan_dan

careplannerさんありがとうございます。

Range("A1:A24").FormulaR1C1 = "=if('C:\10基礎\[" & file_nm & ".xls]基礎'!RC=0,"""",'C:\10基礎\[" & file_nm & ".xls]基礎'!RC=0,)"

↑御回答を参考に作ってみたのですが、実行エラー1004にて定義のエラーになります。

どこに問題があるのでしょうか?

お手数ですが、よろしくお願い致します。

2007/12/16 08:59:18
  • id:SALINGER
    補足(先の補足の数式に""と!が足りませんでしたね)
    1の回答だと、文字列ばかりならいいのですが、他の0も空白になってしまうので違う方法を2つ紹介します。

    s = "'D:\10基礎\[" & file_nm & ".xls]基礎'!RC"
    Range("A1:A24").FormulaR1C1= "=IF(" & s & "=0,""""," & s & ")"

    とVBAを変えるか、

    セルの書式設定をユーザー定義にして

    G/標準;-G/標準;

    にする。

    2のコメントの数式は後の =0 がいらないです。
  • id:dadan_dan
    SALINGERさん ありがとうございます。
    EXCEL、VBAも奥が深いですね。答えを知れば簡単なのでしょうけど、
    それを自分で出すには沢山の事柄が必要になりますね。

    あと、申し訳ないのですが、もう少し教えて頂ければ幸いです。

    VBAを実行すると「ダイアログボックス」??が開き各ファルダ・ファイルなど
    を選択しなければならないのですが、自動で更新は出来ないのでしょうか?

    宜しければお願い致します。
  • id:SALINGER
    これは、アドレスの先にExcelのファイルが存在しないと開くようです。
    正しいアドレスを参照するように修正するか、
    ファイルが存在するかをチェックして回避するかになると思います。
    http://officetanaka.net/excel/vba/file/file06.htm
  • id:careplanner
    おっと出遅れましたね。(^^;
    SALINGER さん、フォローありがとうございます。
  • id:careplanner
    VBAで、「定義エラー」などの場合は、実行の際にその行にブレークポイントを設定(デバックの中にあります。)しておいて、止まった所で今度は「イミディエイトウィンドウ」でその構文をプリント(? ←で出来ます。)してみると、なぜエラーなのかがわかりやすいですよ。

    >>
    イミディエイトで

    ? "=if('C:\10基礎\[" & file_nm & ".xls]基礎'!RC=0,"""",'C:\10基礎\[" & file_nm & ".xls]基礎'!RC=0,)"

    と入力してエンターを押すと、出力される結果が下に表示されます。

    <<

    変数に格納されているものも表示できるので便利です。
  • id:dadan_dan
    SALINGERさん ありがとうございます。
    別件の仕事ですがノートパソコンで作業をしていたところ、調子が悪くデスクトップに変えて
    その仕事をしていました。
    それで、この問題に取組み直したのですが、ドライブを変更しなければならないのに気が付きませんでした。
    問題解決です。ありがとうございました。

    acreplannerさん ありがとうございます。
    「イミディエイト」の使い方が始めて判りました。
    あるのは知っていたのですが、使い方が判らず普段は消したままでした。
    知らずにいたらこれからも時間が掛かっていたと思われます。
    助かります。 ありがとうございました。

    皆さまありがとうございました。これで問題解決です。
    また宜しくお願い致します。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません