- 締切済み
既存シートにデータ追加したい
■マスターシート 日付 商品 個数 付加データ ↓ (項目列ごとに下記追加されていきます) (付加データだけは月末に一括手入力) ↓ ■納品書TMPシート ■日付名シート納品書(印刷用) --------------------------- 現在、マスターシートから、納品書TMPシートを使い、 同ブック内に日付名シートの納品書(付加データ除く)をVBAで作成しています つまり、付加データだけが入力されてない納品書が日付名シートで作成されます 月末の処理都合上、マスターシートへ付加データ一括入力して 既に作成されている各日付名シートに追加転記させたいのです マスターデータの項目日付と日付名シートが一致の場合、 その日付の付加データを抽出し、該当の納品書へ転記する 関数VLOOKUPなどで、各納品書に表示はできるのですが、 都合上月初にマスターデータをクリアしなければならず、 そうした場合、表示エラーになるので、転記データを残す方法を VBAで考えています。 For文などで固定日付でのシート抽出は何とか出来るのですが、 さらにマスターシートの日付も動くので?入れ子?ループ?悩んでいます どなたか助けて下さい
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- yhabnwesoigyh
- ベストアンサー率24% (207/831)
たぶん一番簡単なのは、 マスターデータを削除する前に、 ・日付名シートを全選択 ・[コピー] ・[形式を選択して貼り付け]-[値]で上からコピーしてしまう だとおもいます。 [形式を選択して貼り付け]-[値]は、関数なんかで表示されているセルをコピーしたときに、表示されてる結果をコピーする方法です。 例) セルA1の中身が[=A2+A3+A4]で、結果23だったとします。 セルA1をコピーしてセルB1に普通に貼り付けると[=B2+B3+B4]となります。 しかし、セルB1に[形式を選択して貼り付け]-[値]にすると、セルB1には[23]が入ります。 まぁ元からVLOOKUPではなくて[形式を選択して貼り付け]-[値]でコピーするようにするのが一番だと思いますが、今あるものを手直しするならそれが一番簡単です。 マクロ自動記録しておけば、マクロボタン1クリックで済みますしね。 ただし、せっかくのマスターを消すのはバカですね。マスターだけを別ファイルに[シートの移動]で移動させて保存しておくことをお勧めします。 ちなみに、VBAで[形式を選択して貼り付け]-[値]をする方法 Range("参照セル").Copy Range("貼り付け先セル").PasteSpecial Paste:=xlPasteValues