- ベストアンサー
EXCELマクロ文を、教えて下さい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
FileSystemObjectを使った例を…… Sub sample() Dim oFSO As Object Dim nCount As Long Set oFSO = CreateObject("Scripting.FileSystemObject") nCount = oFSO.GetFolder("C:\AA").Files.Count Set oFSO = Nothing If nCount = 1 Then '*** ファイル1個の時の処理 MsgBox "ファイルが1つ" Else '*** それ以外の時の処理(0個の時も含む) rtn = MsgBox("ファイルが" & nCount & "個。処理継続する?", vbOKCancel) If rtn = vbOK Then MsgBox "処理継続" Else MsgBox "処理キャンセル" End If End If End Sub
その他の回答 (2)
- merlionXX
- ベストアンサー率48% (1930/4007)
はい、全文です。 ただし 1個の場合は、XXX処理、 1個以上の場合は、 これじゃ1個は両方にはいりますよ。 2個以上の場合は、でしょ? あと、ない場合も考えなきゃね。 Sub TEST01() Dim myObj As Object Dim myDir As String, myFle As String Dim n As Long Set myObj = CreateObject("Shell.Application").BrowseForFolder(0, "フォルダを選択してください", 0) If myObj Is Nothing Then Exit Sub If myObj = "デスクトップ" Then myDir = CreateObject("WScript.Shell").SpecialFolders("Desktop") Else myDir = myObj.Items.Item.Path End If myFle = Dir(myDir & "\*.xls?") 'フォルダ内のExcelブックを検索 Do Until myFle = Empty '全て検索 n = n + 1 'ブック数をカウント myFle = Dir 'フォルダ内の次のExcelブックを検索 Loop '繰り返す If n > 1 Then MsgBox "複数のエクセルファイルがあります。" ElseIf n = 1 Then MsgBox "一つのエクセルファイルがあります。" Else MsgBox "エクセルファイルがありません。" End If End Sub
お礼
回答、有り難う御座いました。 とても参考に成りました。
- imogasi
- ベストアンサー率27% (4737/17068)
ここ質問コーナーはコード作成を委託するところではない。ヒントぐらいをもらうところだ。 下記の語句でWEBでも照会して勉強のこと。 何十万という記事がある。 (1)Dir関数 http://www.accessclub.jp/samplefile/samplefile_209.htm http://officetanaka.net/excel/vba/tips/tips69.htm (2)「FSO フォルダ ファイル」 http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_080.html フォルダ内のファイル取得
関連するQ&A
- Bシェルのif文
if文の否定について教えてください。 if $aa='xxx' then else echo yyy fi 間違っているかもしれませんが上に書いたことをやろうとしています。 他の言語の if(!($aa='xxx'))echo yyy; をBシェルのif文で書くにはどうしたらいいですか? $aa='xxx'を$aa!='xxx'にするのではなくて、その外側のifの書式を教えてください。 最初に書いたコードでは、if(!条件)を知らないので if(条件) else 処理 endif のように書きました。
- 締切済み
- その他(プログラミング・開発)
- EXCELのマクロで忠告文について。
EXCELのユーザーフォームについて質問です。 マクロで処理時間が少し長いコードがあります。 ユーザーフォームでデータを入力してCommandButton1を押すとそのマクロが動く仕組みです。 処理時間が少し長いので 「ただいま、処理中です。 しばらくお待ちください」 といった忠告文を出したいです。 msgboxのようにOKボタンを押さずに、処理が終了したら忠告文が自動で消えるようにしたいです。 どのようにすればできますか? よろしくお願いします。
- 締切済み
- オフィス系ソフト
- Excelのマクロを作ってもらえますか?
こんにちは。 エクセルのマクロで、Sheet1に転々と 入力されているデータを すべてA1の列へ統一して並べ替え(2) 同じデータの数を計算してB2へ記述する(3)などという マクロができるなら作っていただけないでしょうか? もし、数の入った行のみ残して削除までできれば最良なの ですが(4) (2) AA-20 AA-20 AA-20 BB-30 CC-30 CC-30 CC-30 (3) AA-20 3 AA-20 AA-20 BB-30 1 CC-30 3 CC-30 CC-30 (4) AA-20 3 BB-30 1 CC-30 3 このようになのですが、 お時間のあるときで結構ですので宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルマクロ文で教えてください。
お世話になります。 エクセルマクロ文で セルD6 に保存するドライブ名(C とか D) セルD7に保存するフォルダ-名(資料2016 とか 閲覧2016 など) セルD8にファイル名 を置いて、 ドライブ名やフォルダ-名を任意に選択できる形で、作成したエクセルシ-トを保存するマクロ文を、お教えください。 ThisWorkbook.SaveAs "D:\資料2016"&fileName というような形で、fileName=Range(”D8”)と置いてあるのですが、ドライブ名とフォルダ-名とをD6とD7に任意の値を置いて当該文字によるドライブとフォルダ-にD8に記入したファイル名で保存したいというマクロ文を、お教えください。
- 締切済み
- 財務・会計・経理
- エクセル マクロ たまに固まる!
超初心者です。よろしくお願いします。 最近マクロに興味を持ち始めたのですが、たまに実行するとエクセルが固まって閉じられなくなるときがあります。確か「なんとかの情報をなんとかしています。この処理には数分かかります。」みたいなメッセージが出ていたような気がします。 タスクマネージャのアプリケーションからも終了できず、プロセスから終了すると閉じることができました。これは防ぐことのできないトラブルですか?
- ベストアンサー
- その他MS Office製品
- AccessのマクロでExcelにエクスポートしたい
レコード数が5万程度あるクエリを マクロでExcelにエクスポートしたいのですが、 「出力」を選ぶと、「出力する行が多すぎて、指定した出力形式またはMicrosoft Accessの制限を越えています。」のエラーメッセージが表示されてしまいます。 マクロではなく、普通にエクスポートする際は、 Excelのバージョンを選択できるので、正常処理できるのですが、マクロの場合はどうすればいいのでしょうか? 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- ExcelのVBAでの複数階層からのフォルダ名の取得
ExcelのVBAでの複数階層からのフォルダ名の取得 下記階層に対して以下の処理をExcelのVBAで行うにはどしたら良いか、 申し訳ありませんが、どうか教えて頂きたく思います。 C:\test1 ├\aaa\ddd │ ├\xxx1\ │ └\yyy2\ │ ├\bbb\ddd │ └\xxx3\ │ │ └\ccc\ddd ├\xxx4\ ├\xxx5\ └\zzz6\ 1 C:\test1を指定する 2 1で指定した中にある各\dddフォルダ内にあるフォルダ名を順に取得する 3 2で取得したフォルダ名をExcelのSheet1のA1から順に書き出す Excel A B C D E 1 xxx1 2 yyy2 3 xxx3 4 xxx4 5 xxx5 6 zzz6 7 8 9 Sheet1 Sheet2 Sheet3 勉強不足で申し訳ありません。 どうぞ宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- エクセルマクロで教えてください。
エクセルのマクロで、自動処理で、「Sheet1」を削除しようとしました。 しかし、削除しようとしたマクロを実行すると下記のメッセージが毎回出てしまいます。メッセージを出さない方法はありますでしょうか? メッセージ:選択したシートに、データが存在する可能性があります。データを完全削除するには、・・・・・」
- ベストアンサー
- その他MS Office製品
- EXCELのマクロにて
EXCELのにて連続したデータを入力したデータベースがあります。(行が5000、列がAAまで) このデータベースのデータの最終行だけを指定して違うシートにコピー・貼り付けがしたいのです。 マクロにてこのような作業をするときにはどういった文をかけばよいですか。
- ベストアンサー
- オフィス系ソフト
- update文に条件をつける場合
update文に条件をつける場合 初心者です。よろしくお願いします。 update TABLE set HOGE = replace(HOGE,'文章','ブンショウ') こちらのupdate文にもう一つ条件をつけたいのですが、WHERE句をいれるとエラーがでてしまいます。 update TABLE set HOGE WHERE XXX = "YYY" = replace(HOGE,'文章','ブンショウ') update TABLE set HOGE WHERE XXX = "YYY" AND replace(HOGE,'文章','ブンショウ') エラーがでてしまいます、、、、WHERE XXX = "YYY"のような条件をだしたい場合はどのようにしたら良いでしょうか。 よろしくお願いします。m(_ _)m
- ベストアンサー
- MySQL
お礼
回答、有り難う御座いました。 とても参考に成りました。
補足
お礼欄への追伸です。(記入ミス、すみません。) 長文でしか作成する事が、出来ませんでしたので とても助かります。 早々、利用させて頂きます。 Excel2007では、問題無かったのですが、 Excel2010環境で、マクロにて範囲指定連続キャプチャで、 如何しても、同一画像が頻繁に出力されて困っていました。 色々試してみましたが、Excel2010等が原因と思われます。 同一画像削除処理の為、質問させて頂きました。