No.2
- 回答日時:
やりたいことは、どこまで必要なのでしょうか。
1、各担当者が追加したデータを、総合のファイルの最後に加えていく。
2、各担当者が、総合のファイルも編修を行って、行った内容も総合ファイルに、反映させる。
2であれば、エクセルよりもアクセスなどで、ひとつのファイルを共有したほうが簡単です。
1でよければ、以下のテクニック参考にしてください。
準備
各担当者のパソコンに入力用のファイルを置く
各担当者が参照できる共有フォルダーに、仮にデータをためておくためのブックを保存しておく。
一人の総合ファイルの担当者に総合ファイルを準備
手順
1、各担当者がデータ追加していき、適当な件数入力したら、共有ブックのファイルを開いて、データをコピィ追加して保存、各担当者のデータは削除する。
2、ほかの担当者も同様の作業
3、時々、総合ファイルの担当者が共有ブックのフィル開いて、たまっているデータをコピィして、たまっていたデータを削除して保存。
この手順でよければ、マクロもさほど複雑でなく出来ると思います。
この手順でよければ、回答ください。
また、アドバイスいたします。
この回答への補足
ご回答ありがとうございます。
やりたいことは、まさに『1』の方です!
大変お手数ですが、ご教授ください。
よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
こんばんは、
取り合えず、各担当者のファイルをネットワーク上の共有フォルダーに転送データとでも名前をつけて、保存してください。
各担当者のファイルに、ボタンでも作成して、以下のマクロをコピィしてみてください。
また、L2セルに、保存した転送データのファイルのパスとファイル名を入れておきます。パスがわからなければ、保存したファイルのプロパティでも開けば出ています。\\パソコン名\フォルダ名\転送データ.xlsとかになると思います。
Sub ボタン3_Click()
'データが2行目のA~Jで、最大100行までとして、コピィします。
Range("A2:J100").Cut
'L2のセルに入れてあるファイル名(共有フォルダの転送ブックを開きます。
Workbooks.Open Filename:=Range("L2").Value
'もし、転送ブックをほかの人が開いていたら、閉じて作業中止します。
If ActiveWorkbook.ReadOnly = True Then
ActiveWorkbook.Close
MsgBox "他のユーザーが使用中です"
Else
'転送データの最終の行のA列をアクティブにします。
Range("A65536").End(xlUp).Offset(1, 0).Activate
'コピィした部分を貼り付け
ActiveSheet.Paste
Application.CutCopyMode = False
'転送データのブックを保存して閉じます。
ActiveWorkbook.Save
ActiveWindow.Close
End If
End Sub
以上が、各担当者のブックで実行するマクロです。
マクロを実行すると、シートの2行目A2~J100が転送データの最後の行から下にコピィされると思います。
次に、総合ファイルのL2にも、転送データのパスとブック名をいれて
以下のマクロを記述しておきます。
方法は同じですが、多少、実行する内容が違っています。
転送データの2行目A2~J1000を、総合テータの最後の行以下にコピペします。
Sub ボタン2_Click()
'転送データのブックを開く
Workbooks.Open Filename:=Range("L2").Value
'転送データをほかの人が開いていないか確認
If ActiveWorkbook.ReadOnly = True Then
ActiveWorkbook.Close
MsgBox "他のユーザーが使用中です"
Else
'データがあるかどうか確認
If Range("A65536").End(xlUp).Row = 1 Then
ActiveWindow.Close
MsgBox ("新規データはありませんでした")
Else
'データのA2からJ1000をカット
Range("A2:J1000").Cut
'総合ファイルの最後の行をアクティブに
ThisWorkbook.Activate
Range("A65536").End(xlUp).Offset(1, 0).Activate
'データを貼り付ける
ActiveSheet.Paste
Application.CutCopyMode = False
Workbooks("転送データ").Activate
'転送データを保存して終了
ActiveWorkbook.Save
ActiveWindow.Close
End If
End If
End Sub
以上、こちらでは、試していませんが大丈夫かと思います。
すみませんが、今夜はお酒が入っているのでエラーでたら連絡ください。
ところどころに説明入れておきましたのそちらの状況に合わせて編修してください。
'で始まる部分は説明ですので、削除していただいてもかまいません。
難しいコマンドは使っていないと思いますので、理解してもらえると思います。
この回答への補足
ご返信遅れて申し訳ございません。
こちらで編集させていただいて問題なく動きました。
この様なやり方があったのですね~。
大変勉強になりました。
またご質問させていただいた際にはよろしくお願いいたします。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) エクセル、画像ファイル名の書かれたセル(複数個所)に画像を一括で表示させる方法 1 2023/04/19 00:19
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Excel(エクセル) エクセルのファイルを複数のPCで同期する方法は? 7 2022/11/23 17:35
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を 3 2023/07/01 15:16
- その他(Microsoft Office) エクセルのマクロについて教えてください。 5 2023/01/21 09:39
- Excel(エクセル) 記録マクロのみでできますか? 7 2022/08/07 20:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
はがきについて。
-
エクセル 文字を増やしたい。
-
セルの内容表示が邪魔になる
-
Microsoft365に変えたのですが...
-
エクセルの計算
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
Excel ピボットテーブルで日付...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
Excelのチェックボックスの使い...
-
エクセル 白黒印刷で白線を印刷...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの条件付き書式につい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報