アプリ版:「スタンプのみでお礼する」機能のリリースについて

excel VBAを使ってあるブックのセル範囲を別のブック(日報.XLS)のシートへコピー貼り付けをしたいのですが、コピーする側のブックがランダムに取り込まれ(例 8時間ピッチにて自動的にブックが作成される)そのブックを日にちごとに集計し、一か月ごとにまとめるということをやらなければなりません。
例)8時間ごとにフォルダが作成されます。
  000001.XLS
000002.XLS
  00000F.XLS ・・・・・・・・16進数にて
  上記ブックのSheet1のA2:A11までの数値を別のブック(日報月報集計)のに貼り付ける。

別のブック(日報月報集計)は項目ごとに10個のシートがあり
8時間ごとのファイルのセルA2は別ブックのSheet1の日付けに対応するセルへ貼り付け
B2は       Sheet2

上記操作を8時間ごと(可変可能)に自動的にコピー貼り付けをやりたいのですが
ブック間のコピー貼り付け等わからないことが(初心者です。)多々あり、いろいろ調べてはいるのですが、STOPした状態です。
出来れば、初心者にも理解しやすい解説等あれば宜しくお願いします。

A 回答 (2件)

いくつもクリアしなければならない箇所が沢山あります。


1、所定のファイル(仮に 一つのフォルダにある000001.XLS を開き
  指定したセルの値を 月報.xlsの指定した場所へ入れていく VBAのコード
2、1が出来たら、000001.XLSから00000F.XLS まで繰り返して実行するコード
3、2が出来たら、次のフォルダーのパスを取得して、2を実行するコード
4、8時間ごとに、3を実行させるコード
と順番にかんがえましょう。
とにかく、1が出来なければ、前へ進めません。
すべてを考えるとSTOPしてしまいそうですが、とりあえず 1の段階をクリアしてください。

一案ですが、データ取り込みのシート以外に、添付のようなファイル名とパスをいれたシートを準備しておきます。

データ取り込みのシートから
Sub ボタン1_Click()
GYOU = Range("A" & Rows.Count).End(xlUp).Row + 1
Myfile = Sheets("ファイル一覧").Range("A2").Value & "\" & Sheets("ファイル一覧").Range("A6").Value
Workbooks.Open Filename:=Myfile
ThisWorkbook.Sheets("データシート").Range("A" & GYOU).Value = Range("A5").Value
ThisWorkbook.Sheets("データシート").Range("B" & GYOU).Value = Range("G6").Value
・・・・・・取り込みたいセルの数だけ
ThisWorkbook.Sheets("データシート").Range("Z" & GYOU).Value = Range("H2").Value
ActiveWorkbook.Close SaveChanges:=False

End Sub

を実行せすれば、指定したフォルダの指定したファイルを開いて、それぞれのセルの値が
1行づつ追加されていくと思います。
とりあえず、ここまで十分に理解して、次の 2のステップへ進みましょう
「excel vba 作成について教えて下」の回答画像2
    • good
    • 0
この回答へのお礼

遅くなりましたが、一応解決致しましたのでありがとうございます。

お礼日時:2013/09/25 18:59

初心者の方にはちょっと難しい処理ですね。



まず、できるだけ具体的に、何をどうするのかを明確にしていく必要があります。

1)1日ごとの集計は、自動作成されるエクセルブック(000001.xlsなど)の「作成日時」をみて判断する?ブック内に日時の入っているセルがある?(月ごとの集計も同様)

2)上記ブックを日報.xlsに「どのように」集計するのか?(単にシートを貼付けるのか(どのように)、何らかの計算があるのか。)
  日別の集計ブックは毎日作られていくので「日報.xls」という固定名ではダメではないのか?(日報yymmdd.xlsのような名前にする?それともすぐに月報集計に転記?だったら日報の存在意義は?)


などなど、仕様を固めるところから考えてみてください。


>上記操作を8時間ごと(可変可能)に自動的にコピー貼り付けをやりたい
エクセルのVBA、というよりもWindowsアプリケーションの作成になってくるかもしれません。
    • good
    • 0
この回答へのお礼

遅くなりました、一応解決致しましたのでありがとうございます。

お礼日時:2013/09/25 19:00

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