MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/19 おすすめ情報に 『 【資格取得者速報】 Aさん 「 Microsoft Security, Compliance, and Identity Fundamentals」 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


Excelマクロで他シートへの転記方法
profile-img
投稿者: watanabeさん
投稿日:2019/07/09 17:59
更新日:
like-img
分類
技術
テクノロジー
システムエンジニア
キャリア
テクニカルサポート
投稿内容

以前作成した記事

Excelマクロでの同シート内転記方法」に続く記事です。

https://www.miraclejob.com/recommend/detail?cd=719



【実施内容】

シート「記入フォーム」にてボタン「①内容記入」を押下、

B・C列の各項目に対象データを記入して行く。



項目ごとにメッセージが表示されるため、

各項目毎のメッセージ内容に沿って記入を行う。



全て入力を終えると、空白欄及び「集計シート」に入力した内容が記載される事を確認する。



集計シートには記入フォームシートから転記されたデータが、

前回入力データの下部に転記されている。




 【マクロ内容】

①転記用変数設定

    Dim 集計 As Worksheet

     Set 集計 = Worksheets("集計")
    Dim 入力 As Worksheet
     Set 入力 = Worksheets("記入フォーム")
    Dim myRow As Long
              With 集計
              myRow = .Range("B" & Rows.Count).End(xlUp).Row + 1
  
①のコマンド内容

 『 Dim ’変数名’ As Worksheet 

   ⇒変数にワークシートの意味を持たせる。

    『 Set ’変数名’ = Worksheets("シート名") 』

   ⇒上のコマンドとセット。変数名に与えるシート名を入力する。

 『 Dim ’変数名’ As Long 』    

   『     With ’変数名’ 』

   ⇒Withに続く変数名、今回の場合は集計シートであり、

    以下のコマンドはこのシート上で実施する内容であると省略するコマンド

    「End with」で締める必要があるが、まだ締める必要はない。

    『   ’変数名’ = .Range("B" & Rows.Count).End(xlUp).Row + 1  』

   ⇒この変数は、『集計シートのB列を下から順に無記入ではない項目』

    がないか確認後、記入されている行の1つ下の行に入力をする』という内容


転記(B19~D19を最下行シートへ転記)
  
   .Range("B" & myRow & ":C" & myRow & ":D" & myRow & ":E" & myRow & ":F" & myRow & ":G" & myRow & ":H" & myRow).Value = 入力.Range("B16:H16").Value
   
    End With
   
End Sub


②のコマンド内容

 『   .Range("B" & myRow & ":C" & myRow & ":D" & myRow & ":E" & myRow & ":F" & myRow & ":G" & myRow & ":H" & myRow).Value = 入力.Range("B16:H16").Value 』

   ⇒B列からH列までの行数に、myRowの変数名が記憶したコマンドを実行、

    そこで見つかった記入箇所に、記入フォームシートの内容を転記するコマンド

 『 End With 』

   ⇒With 変数の適用範囲を締めるコマンド



【今後の課題】

・登録者毎に転記シートが自動選択されるようにする

・入力内容を何でも転記してしまう状態であるため、除外例及び警告文が表示されるようにする





・セルの値を使い計算
https://excel-ubara.com/excelvba1r/EXCELVBA504.html
・Excel VBA プログラミング入門:入力したデータを転記する
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/prog/prog01.html

・withステートとは

http://officetanaka.net/excel/vba/beginner/16.htm

コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3