Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : Excel 2016)
行追加と数式コピーについて
投稿日時: 21/03/01 16:38:32
投稿者: たんしお

労働時間の表で新しい人を追加したい場合のマクロでの行追加と数式コピーのやり方について
 
行追加をする場合なんですが、数式が雇用形態で違うため(全部で2種類)、
雇用形態@と雇用形態Aのマクロボタンを押すと、それにあった数式がコピーされ
行追加ができたら理想的なんですが、やり方がわかりませんでした。
 
表は下記の通りです。
 
  A     B    CDE()結合してます   F   G      I
 個人番号  名前  所属          労働日 労働時間 残業  
4.9999   あああ
5.8888   いいい
6.7777   ううう
  ↓
 
今作ったマクロは雇用形態@の方しかコピーできないものです。
4行目から個人コードが入っているため、その行の数式をコピーすればいいかと思い、
作成したのですが、この方法だと名前まで全部コピーのためやりにくさを感じています。
また、雇用形態Aの方は何行目と固定行ではないため、どうやって参照さればいいのかと思っております。
マクロに数式を持たせるのは、やり方がわからなかったのですが、難しいやり方なんでしょうか
 
Sub 行追加()
     With ActiveCell '.offset(-1)
          .EntireRow.Insert Shift:=xlDown
          Range("C" & .Row - 1).Resize(, 3).Merge
      
 Rows("4:4").Copy Destination:=Rows(ActiveCell.Row)
  
 End With
End Sub
 
 
 
 
 

回答
投稿日時: 21/03/06 22:34:44
投稿者: WinArrow
投稿者のウェブサイトに移動

いくつかの問題が提示されています。
  
まず
雇用形態@と雇用形態Aを区別できる項目はありますか?
 人手では、判断できているはずなので、その方法を汎用化(共通化)する方法を検討しましょう。
  
次に行複写するとコード、名前が複写される問題
 複写後、変更しなければいけない項目はクリアする。
  
VBAで数式を格納する
 それよりも、すでにある数式を複写したほうが確実です。
 行内のセルを参照している数式は問題ないが、別の行を参照している数式は、相対、または、絶対参照を
有効に使用しましょう。
 

投稿日時: 21/03/09 14:45:04
投稿者: たんしお

 WinArrow 様
 
お礼が遅くなりました。VBAでやるよりもご指摘のとおり
数式を複写するやり方に変更しました。
ありがとうございました。