Excel-隠されたセルを隠すことはできません


1

セルAの表示:general20130903.txt
セルAの数式:=CONCATENATE("general",YEAR(TODAY()),TEXT(MONTH(TODAY()),"00"),TEXT(DAY(TODAY()),"00"),".txt")

セルBは値の純粋なテキストです。 \\asimple\uncpath

セルCの数式:= ChkFile(CONCATENATE(B43、 "\"、A43))

ChkFileは非常に単純なマクロです。

この一連の問題は、セルAがプレーンテキストの場合には正常に機能しますが、この計算値はセルCを表示し#VALUE!ます。

誰でも喜んで、できればVBAを使わずに助けることができますか?

編集:私はもともとマクロコードを提供したくなかったのですが、それが関連しているとは感じていませんでした。

Public Function ChkFile(Name As String)

    ChkFile = FileDateTime(Name)

End Function

問題は非常に単純なマクロに関係しているようです...そのため、VBAを使用しない解決策はないと思います。
ジェリー

可能であれば言いました。セルAがプレーンテキストである場合にマクロが正常に機能するのに、マクロに障害があると思う理由がわかりません。マクロを使用する場合は、入力が何らかの方法でサニタイズされるだけの問題でしょうか?
ポール

私はそれが:(私もどちらかに精通したVBAないんだけど、また別の関数がを見てありますようだ引き起こす可能性があるものを見ることができないので、それは...、そう思える
ジェリー

入力が間違っていたことがわかりました!
ポール

DAY部分に-1を追加するだけでは、月の1日には機能しません(月も1に戻らないため)-使用してみてください="general"&TEXT(TODAY()-1,"yyyymmdd")&".txt"
バリーフーディーニ

回答:


2

ファイルが存在しないか、データの取得で問題が発生したため、#Valueを取得します。関数を少し変更すると、ファイルが見つからなかったときにメッセージを返すことができます。

Public Function ChkFile(Name As String) As String

    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    ChkFile = IIf(fso.fileExists(Name), FileDateTime(Name), "File doesn't exist!")
    Set fso = Nothing

End Function

ああ、チーズのクリーシー。それはプログラミングではなく人為的エラーでした。チェックされる日付は昨日(DAYの近くの単純な-1)でなければならず、現在は正常に機能しています。ありがとう。ところで、バックスラッシュは、このテキストエディタで入力すると3であり、ビューアに2と表示されます。SEにはエスケープ文字としてこれがあると思います。ここに表示されているように、私のExcelシートは正しいです。
ポール

@Paulは、問題を解決できてうれしいです。とにかく上記の関数を使用することをお勧めします。ファイルの存在を追加でチェックするからです。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.