下記のマクロを記述を記載していますが
Open path + finame For Input As #1→でファイルがありませんという
エラーがでます。c:\aa着色加工計画\testにファイル(T_Sort.csv)はあるみたいなのですが
教えてください。何が原因でしょうか



Sub Do_shukei()
Dim 処方(1) As String, 品名(1) As String
Dim 倉庫(1) As String
Dim tuki(15) As String, sort(1) As String, st As Integer
Dim sihan(8) As Long, zaiko As Long, suryo(15) As Long
Dim ryo(6) As Long, a As Integer, i As Integer
Dim path As String, finame As String, foname As String
st = 1
a = 1
For i = 1 To 15
suryo(i) = 0
Next i
path = "c:\aa着色加工計画\test"
finame = "T_Sort.csv"
foname = "T_shukei.csv"
Open path + foname For Output As #2
Open path + finame For Input As #1
Do Until EOF(1) = True
If a = 1 Then
Input #1, sort(0), 倉庫(0), 処方(0), 品名(0), tuki(1), tuki(2), tuki(3), tuki(4), tuki(5), tuki(6), tuki(7), tuki(8), tuki(9), tuki(10), tuki(11), tuki(12), tuki(13), tuki(14), tuki(15)
Write #2, sort(0), 倉庫(0), 処方(0), 品名(0), tuki(1), tuki(2), tuki(3), tuki(4), tuki(5), tuki(6), tuki(7), tuki(8), tuki(9), tuki(10), tuki(11), tuki(12), tuki(13), tuki(14), tuki(15)
a = 0
GoTo l
下記省略

A 回答 (2件)

path = "c:\aa着色加工計画\test"


はフォルダですよね。

Open path & "\" & foname For Output As #2
Open path & "\" & finame For Input As #1

foname も変な指定になっているはずです。
    • good
    • 0

こんにちは。

maruru01です。
原因はNo.1の方の通りなので、ちょっと付け足しですが。
フォルダ名は、今回のように直接パスを書く場合以外にも、関数などで取得する場合もあります。
その場合、取得するフォルダ名はドライブ名(c:\)のように末尾に"\"が付く場合と、付かない場合があります。そこで下記のような処理を常にすると、今回のようなエラーは出なくなります。

If Right(path, 1) <> "\" Then
  path = path & "\"
End If

では。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q=IF(CF260<>0,ROUND(M262/CF260,0),0) の意味を教えてください。

お世話になります。
EXCELにおいて、=IF(CF260<>0,ROUND(M262/CF260,0),0) の数式の意味を教えてください。
宜しくお願い致します。

Aベストアンサー

追記

ROUND(M262/CF260,0)
         ↑ 桁数指定が"0"なので、整数部分の桁数。でした。

Q[色]+#,##0;[色]-#,##0;[色]0;@ と[<10]#.0;0 同時設定可能ですか?

よろしくお願いします
いつもgooの皆さんには大変お世話になっております
お陰様でエクセルが大分進歩しました
win8.1でエクセルは2013です

タイトルの通り、2つの書式は同時に設定できますか?
可能であればその書き方を教えていただけないでしょうか?
同時に設定したい書式は下記のとおりです

[色]+#,##0;[色]-#,##0;[色]0;@  と [<10]#.0;0 です

Aベストアンサー

こんばんは!

おそらくセルの書式設定のユーザ定義は最大3個までしか設定できなかったともいます。

ユーザー定義の欄に
[赤][<0]-#,##0;[青][<10]0.0;[青]#,##0;@
としてみてください。
① マイナスの場合のフォント色は「赤で3桁のカンマ区切り」
② プラスの場合で10未満の場合は「青で小数点以下一けた表示」
③ プラスで10以上の場合は「青で3桁のカンマ区切り」
その他(文字列)の場合は「自動」(黒)

以上のような表示になると思いますが、
「0」の場合の設定ができません。
「0」の場合の表示桁数は一桁でフォント色は「自動」がお望みなのではないでしょうか?
おそらく手動でのセルの書式設定のユーザー定義ではどれか一つを犠牲にする必要があるのではないかと思います。
(できる方法があればごめんなさいね。)

ただ、お望みの方法ではないかもしれませんが、
上記条件付き書式のセル変更があればマクロで書式を変えてやる方法があります。

マクロでやるとなるとわざわざセルの書式設定を手動でやる意味がないので
敢えて今回はこの程度で・・・m(_ _)m

こんばんは!

おそらくセルの書式設定のユーザ定義は最大3個までしか設定できなかったともいます。

ユーザー定義の欄に
[赤][<0]-#,##0;[青][<10]0.0;[青]#,##0;@
としてみてください。
① マイナスの場合のフォント色は「赤で3桁のカンマ区切り」
② プラスの場合で10未満の場合は「青で小数点以下一けた表示」
③ プラスで10以上の場合は「青で3桁のカンマ区切り」
その他(文字列)の場合は「自動」(黒)

以上のような表示になると思いますが、
「0」の場合の設定ができません。
「0」の場合の表示桁数は一...続きを読む

Q変数のデータ型  Integer と Long

数値型を宣言する時に
 Integer と Longのどちらを使えばいいかの判断ができません。

例えば、
For i = 1 To 30000

Next

というコードの場合は、最大数が30000なので
Integerをでiを宣言すればいいのでしょうか?
(30000以上になることはないとする)

ここでLongで宣言した場合、どういうデメリットが発生しますか?
メモリを多く確保するため、パソコンの動きが遅くなるのでしょうか?

Aベストアンサー

確かにIntegerよりLongの方がメモリを喰う=遅くなる

という考え方が正しいかもしれませんが、今現在のPCのスペックを
考えると誤差範囲(まず違いを体感する事はない)だと思います。

知識として覚えておくといった程度でしょうか。

Q■□■読み方■□■ #N/A, #VALUE!, #REF!,DIV/0!,#NUM!, NAME?, #NULL

前に、似たような質問をされている方がおりましたが、明確な答えが出ておりませんでしたので教えていただけますでしょうか。
以下のようなエクセルのエラー項目の
読み方を教えていただけませんでしょうか。
#N/A
#VALUE!
#REF!
DIV/0!
#NUM!
NAME?
#NULL
よろしくお願いします。
なお、意味は結構です。あくまで読み方を教えていただきたいのです。
しかも、カタカナでお答えいただくと助かります。
勝手言って申し訳ないですが、
よろしくお願いします。

Aベストアンサー

<方法1>略語の由来となっている英語を言う。
※冠詞は省いています。英語の表現は他にもあります。

#N/A Not Available Value ナット・アヴェイラブル・ヴァリュー
#VALUE! Wrong Type of Value ローング・タイプ・オヴ・ヴァリュー
#REF! Invalid Cell Reference インヴァリッド・セル・リファレンス
#DIV/0! Divided by Zero ディヴァイディッド・バイ・ゼロ
#NUM! Invalid Number インヴァリッド・ナンバー
#NAME? Unrecognized Name アンリコグナイズド・ネイム
#NULL! Null Intersection ナル・インターセクション

<方法2>書いてある字をそのまま読む。

#N/A エヌエー
#VALUE! バリュー
#REF! レフ
#DIV/0! ディブゼロ
#NUM! ナム
#NAME? ネーム
#NULL! ナル(ヌル)

<方法3>適当な英語で代表させて「エラー」をつける。

#N/A ノットアベイラブルエラー
#VALUE! バリューエラー
#REF! リファレンスエラー
#DIV/0! ディバイデッドバイゼロエラー
#NUM! ナンバーエラー
#NAME? ネームエラー
#NULL! ヌルエラー

<方法4>日本語を混ぜる。

#N/A 無効エラー
#VALUE! バリューエラー
#REF! 参照エラー
#DIV/0! ゼロ割りエラー
#NUM! ナンバーエラー
#NAME? 名前エラー
#NULL! ヌルエラー

<方法1>略語の由来となっている英語を言う。
※冠詞は省いています。英語の表現は他にもあります。

#N/A Not Available Value ナット・アヴェイラブル・ヴァリュー
#VALUE! Wrong Type of Value ローング・タイプ・オヴ・ヴァリュー
#REF! Invalid Cell Reference インヴァリッド・セル・リファレンス
#DIV/0! Divided by Zero ディヴァイディッド・バイ・ゼロ
#NUM! Invalid Number インヴァリッド・ナンバー
#NAME? Unrecognized Name アンリコグナイズド・ネイム
#NULL! Null Intersection ナル...続きを読む

Q関数の[DBNum3]#,##0"円",-#,##0"円"の意味教えてください!

セルの書式の表示のユーザー定義で[DBNum3]#,##0"円",-#,##0"円"というのがあるんですが
意味がわかりません。
#,##0"円",-#,##0"円"という関数もあるのですが、
どなたか違いを教えてください。

宜しくお願いします。

Aベストアンサー

Googleでキーワード:DBNum3 で日本語選択検索で参考になるサイトが出ます。


人気Q&Aランキング

おすすめ情報