No.12ベストアンサー
- 回答日時:
何度実行しても良いようになっていますのでもう一度最初から実行してみてください。
ちなみに、マクロを入れたファイルは開始時と終了時に毎回消去しているので何も表示されないはずです。出来上がった「友の会・観察会資料2017.xlsx」はどうなっていますか?
まさかとは思いますが、このマクロを記録したファイルの名前は「友の会・観察会資料2017.xlsx」や「友の会・1月観察会資料2017.xlsx」などにはしていませんよね?
多分間違いだと思うので勝手に直しましたが、もちろん「友の会・1月観察会資料2014.xclx」などは「友の会・1月観察会資料2014.xlsx」などの間違いですよね?
No.11
- 回答日時:
一応、念の為ですが、コピペして実行されていますよね。
そのエラーだとスペルミスでも表示されますので…
なかなか思うように行かず、返事が遅くなりました。
前回言いました「実行時エラー'438':」は何故か表示されず、
「処理完了しました。」と表示されました。正常に終了したと思います。
ただ、このファイルの中身、文字が一切含まれておりません。
17行~57行、A~I列に縦罫線が3本と横罫線40本が入っております。
縦罫線は正しいです。横罫線はもっとあってよさそうです。
しかし文字一つもないのは、正しい処理ではありません。
No.8
- 回答日時:
とりあえずこんなのはいかがでしょうか?
データが有るフォルダーに「ファイルまとめ.xlsm」のようなファイルを作成して、以下のマクロを登録してください。
----------------------------------------------------------------------------------------------------
Sub ファイルまとめ()
Dim Str_ファイル名 As String
Dim Lng_月 As Long
Dim Str_年 As String
Dim Lng_終 As Long
Dim Lng_次 As Long
Do
Str_年 = InputBox("年を半角数字で入力してください。")
If Str_年 = "" Then Exit Sub
Loop Until IsNumeric(Str_年)
Cells.Delete Shift:=xlUp
Lng_次 = 1
For Lng_月 = 1 To 12
Str_ファイル名 = "友の会・" & Lng_月 & "月観察会資料" & Str_年 & ".xlsx"
If Dir(ThisWorkbook.Path & "\" & Str_ファイル名) <> "" Then
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & Str_ファイル名
Lng_終 = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
Rows("1:" & Lng_終).Select
Selection.Copy
ThisWorkbook.Activate
Cells(Lng_次, 1).Select
ActiveSheet.Paste
Lng_次 = Lng_次 + Lng_終 + 50
Application.CutCopyMode = False
Windows(Str_ファイル名).Activate
ActiveWindow.Close
End If
Next
Str_ファイル名 = ThisWorkbook.Path & "\" & "友の会・観察会資料" & Str_年 & ".xlsx"
If Dir(Str_ファイル名) <> "" Then Kill (Str_ファイル名)
Cells(1, 1).Select
ActiveSheet.Copy
ActiveWorkbook.SaveAs _
Filename:=Str_ファイル名, _
FileFormat:=51
ActiveWindow.Close
Cells.ClearContents
MsgBox ("処理完了しました。")
End Sub
----------------------------------------------------------------------------------------------------
実行すると「年」を入力指示が表示されるので「2014」のように半角4文字で年を入力してください。キャンセルや空文字で何もせずに終了します。数字以外の物を入力すると数字が入力されるまで繰り返します。
まとめたものは「友の会・観察会資料2014.xlsx」のような名前で保存されます。
GooUserラック様
マクロ作成ありがとうございます。
実行すると、言われている通り4桁半角の年が要求され、2017を入力すると、しばらくして
次のエラーメッセージと、終了・デバッグ・ヘルプの選択肢が表示され、とりあえず終了を押し、マクロとして保存しました。
実行時エラー'438':
オブジェクトはこのプロパティまたはメッソドをサポートしていません。
書くのを忘れていましたが、環境はwindows10・excel2013です。
よろしくお願いします。
なお、2017の1から6までのデータしかありません。
それはそれでよいですね。確認をお願いします。
なおご質問の、閉じ方は未だ見当つきません。
一通りランしてからお答えさせてもらいます。
No.6
- 回答日時:
No.2 のお礼について
ファイル名のフォーマットの件ですが、例えば1月分の名前は「1月分.xlsx」「1月.xlsx」「2017年1月度.xlsx」などいろいろ有るのだけど、フォーマットが決まっていないと1つ1つ指定しておかないと読み込む事が出来ないのですけど…
決まっているならば「yyyy年m月分.xlsx」のように指定していただけると良いのですが…
使われている数字は半角か全角かも教えてくださいね。
GooUserラック様
本件、マクロを使い、解決できませんでしょうか。
補足説明と貴方への質問への答えとして、説明しましたが、私の意図は伝わってますでしょうか?
よろしくお願いします。
No.5
- 回答日時:
最終的なアウトプットをイメージできないのですが,月報にはどういう項目を書かれているのでしょうか?
例えば
・客先
・テーマ
・進捗状況
・達成率
・イベント
・詳細な内容
など色々考えられますよね?
それに対して"どのセルが各項目内容を記載しているか"というのがポイントになる様に思います.
例えば見出し列が1列目,内容が2列目に記載されているという事なら,
1~12月の順(もしくは4月~3月の順)に内容をコピー&ペーストするマクロを組むのが
手っ取り早い印象があります.
(つまりコピー&ペーストしたら1列ずつずらす.それによって1月~12月までの内容を1つのシートに貼り付ける事ができる.)
但し,この方法を行うためには連結行がその月によって異なる(例えば4月の詳細な内容を記載しているのがB4~B6であるのに対し,5月だとB4~B7みたいな感じ)と,
コピーするセルの位置ズレが起きるので,できれば同じセル位置に記載されている事が望ましいです.
勿論違うセル位置であっても見出し項目から検索してコピー&ペーストすることも可能です.
コメントありがとうございます。
今から作るデータなら、もう少し考えてスタートするでしょうが、3年分の月報がたまっており、そこから、並べ替えや検索を行おうとしています。
月報は1sheetの1fileでできており、それが30件ほどあります。
これからどうするかが問題です。
補足コメントに書きましたので、見て貰えませんか。
No.4
- 回答日時:
こんにちは
具体的な内容が不明なので、半分想像ですが・・・
いずれにしろ、手作業に頼らざるを得ない部分がかなり残りそうですし、年に一回の頻度の作業(?)ということを考えると、あまり自動化することに意味を感じられません。
多少なりとも作業を(心理的に)楽にする意味で、機械的な作業の部分を自動化しておくとかでしょうか?
規則性があるなら、単純にブック間のリンクを設定したひな形を作成しておいて、それを使い回すとか。(一旦、値をその位置にペーストすることで実体化できるので)
同様の機能のマクロを作成しておくとか。
いずれの場合も、formatの統一具合によっては、項目ごとにまとめてコピーするくらいのところまではできるかも知れませんね。
別の発想として・・・
>一件ずつを呼び出し、コピーする方法しか思い浮かびません。
>それでは年報に直すのに、同じことを12回する必要あります。
わずらわしさの一つの要因として「別ブックを何度も開く」という心理的な抵抗感があるのではと想像します。
月報とのことですので、ファイルの1シートを一月分になるようにformatを組み直せれば(複数ページあっても1シートに記載する)、一年分を12シートにすることができます。
これに年報シートも追加すると、年度のデータを1ファイルとすることが可能になります。
とはいっても、月報が数十ページあるとかだと、1シートにするのには無理がありそうですが・・・(感覚的には、せいぜい数ページ~十ページ程度まででしょうか)
私なら、1ファイル化が可能であるなら(12ファイルになっても同様かもですが)、12か月分の内容を項目ごとに単純コピペで寄せ集めるマクロでも作成しておいて、あとは手作業で編集するといった方法を考えるところでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- その他(社会・学校・職場) 業務内容についてどう思いますか? 私は客先の仕事を下請けとして行うという仕事をしていますが、(客先の 2 2022/05/04 16:17
- Excel(エクセル) エクセルのマクロ作成について教えてください 5 2023/02/20 00:39
- その他(社会・学校・職場) 業務内容についてどう思いますか? 私は客先の仕事を下請けとして行うという仕事をしていますが、(客先の 3 2022/05/04 17:55
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Visual Basic(VBA) tatsumaru77様 昨日回答して頂いたものです。 すみませんが、昨日の質問で1つ補足があります 1 2022/05/15 15:06
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
【マクロ】名前を保存する際に...
-
データ参照先が別ファイルの場...
-
ファイルを開かずにマクロを実行
-
VLookupで参照する範囲を変数で...
-
vlookup関数の引数を変数で指定...
-
エクセルマクロで不特定なファ...
-
エクセル(マクロ)のファイル...
-
フォルダ内のexcelファイルを順...
-
accessフォルダを移動したらフ...
-
VBAでワークブックの名前を変数...
-
エクセルのシートの数を数えた...
-
EXCELマクロを無効にして開く方法
-
Excelのマクロでファイルを開く...
-
Accessのaccdbファイルを起動で...
-
リンク切れチェックを行うマクロ
-
ローカル⇒ネットワーク移動でマ...
-
再)excelのスクロールバーが使...
-
フォルダ内のブック全部にパス...
-
【VBA】フォルダ内のファイル全...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
エクセルマクロで不特定なファ...
-
【マクロ】名前を保存する際に...
-
ファイルを開かずにマクロを実行
-
【Excel VBA】ファイル名が一...
-
フォルダ内のブック全部にパス...
-
フォルダ内のexcelファイルを順...
-
エクセルのシートの数を数えた...
-
VBAでワークブックの名前を変数...
-
データ参照先が別ファイルの場...
-
エクセル(マクロ)のファイル...
-
vlookup関数の引数を変数で指定...
-
エクセル 複数ファイルの一括...
-
ファイルの保存場所を変えたら...
-
accessフォルダを移動したらフ...
-
EXCELマクロを無効にして開く方法
-
リンク切れチェックを行うマクロ
-
Accessのaccdbファイルを起動で...
-
エクセルのxls形式からxlsx形式...
-
エクセルマクロ 異なるファイ...
おすすめ情報
具体例をイメージで示します。
客先、テーマ、進捗等の項目がA列からJ列まで並び、夫々に約30行のデータがあります。
ただ30行の上下には列とは関係なく文章が数行ずつあるとします。
列はほぼ同じですが、行については月によって異なります。
1月分はそのままコピーし、1から50行目に空白行を挿入し、1月分を下へ送り、そこに2月分をコピーし、また50行を空白にし、同じ操作を続けます。
ここまでは編集は行いません。
この後、マニュアルで上下の文章の行を削除すると完成です。
もし列幅や列数に乱れがあれば、個別に対応します。
従って、最初に書きました客先、テーマ、進捗等は何でも構いません。
ABCそのもので構いません。
単純に下へ送り空白行を作り、次の月のデータをコピーすることです。
なお、マクロには疎いので、使い方までの解説をお願いしたいです。