- ベストアンサー
VBAで複数のセルのデータを一覧表に転記する方法
end-uの回答
Sub 転記マクロ2() Dim ws As Worksheet '転記先シート Dim x As Long 'シート名は実際のシート名に変更要 Set ws = Sheets("シート2") With Sheets("シート1") x = .Cells(.Rows.Count, 1).End(xlUp).Row If x > 1 Then With .Range("A2:D2").Resize(x - 1) .Copy ws.Cells(ws.Rows.Count, 1).End(xlUp).Offset(1) .ClearContents End With End If End With Set ws = Nothing End Sub こんな感じです。
関連するQ&A
- VBAに詳しい方に質問です。
VBAに詳しい方に質問です。 私はVBA初心者です、お力添えのほどよろしくお願いいたします。 前回の質問の続きなのですが、 エクセルで入力し、それを一覧表に転記し、最終的に出力フォームにデータを呼び出し印刷するプログラムを作成しています。 そこで、一覧表から出力フォームに呼び出すVBAについて教えてください。 ☆シート2 これまでに入力したデータをすべて一覧表があります。 1 2 3 4… 1 日付 名前 年齢 電話番号 22010/06/28 山田太郎 33才 090-×× 42010/07/01 石川花子 12才 090-×× 52010/07/01 岡田君子 15才 090-×× 6 7 ・ ・ ・ ☆シート3 出力.cells(1,1)に日付を入力しボタンを押すと、その日付を基準にその日付の項目すべてを出力します。 1 2 3 12010/07/01 2 3 名前 年齢 電話番号 4 石川花子 12才 090-×× 5 岡田君子 15才 090-×× 6 7 ・ ・ ・ このようなVBAを作り出す場合、どのような文を書いたらよいのでしょうか。 VBAに詳しい方、アドバイスのほど宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- エクセルのVBAについて
ご教授下さい。 勤怠管理表を作成しています。 個人データを入力するシートがあり、出来上がったものの中から必要な事項のみを別シートの一覧表へ転記をしたいのですが、方法がわかりません。 どなたかご教授ください。 1.転記したい事項は下記の通りです。 (1)氏名 (2)出勤 (3)公休 (4)休み (5)合計 (6)給料 2.6項目をシート名(全体)に表形式で転記 3.社員番号等はなくランダムに入力するため、一覧表へは転記のみされればOKです。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- ExcelのVBAに明るい方・・・
Excelの、Sheet1 に 1日目,鈴木くん,点数,・・・ 2日目,佐藤くん,点数,・・・ 2日目,山田くん,点数,・・・ 3日目,佐藤くん,点数,・・・ 3日目,鈴木くん,点数,・・・ 4日目,山田くん,点数,・・・ ・・・ という、元ダネの一覧表があって、 このデータを日々追加入力していくごとに、自動的に、 Sheet2 には、鈴木くんのみの一覧表のデータ 1日目,鈴木くん,点数,・・・ 3日目,鈴木くん,点数,・・・ ・・・ Sheet3 には、佐藤くんのみの一覧表のデータ 2日目,佐藤くん,点数,・・・ 3日目,佐藤くん,点数,・・・ ・・・ Sheet4 には、山田くんのみの一覧表のデータ 2日目,山田くん,点数,・・・ 4日目,山田くん,点数,・・・ ・・・ が、自動的に追加入力されるVBAの記述って、 どうすればいいんでしょうか? VBAに明るい方、どうかよろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- エクセル VBA データ入力
こんにちは、はじめまして。 エクセル・VBA初心者です。 会社に入って3ヶ月になります。 同じファイル内で、入力用シートから 違うシートに表としてデータを転送するため、 本や今まで作ったものを参考にして下のようなVBAを作成したのですがうまくいきません。 Sub 転記() Dim ws0 As Worksheet, ws1 As Worksheet, chikuseki As Range Dim nyuryoku() Set ws0 = Worksheets("Worksheet1") Set ws1 = Worksheets("Worksheet2") nyuryoku = Array("b3", "d3", "f3", "h3") '転記したいセルの位置 Set chikuseki = ws1.Range("f", "g", "k", "q" & Rows.Count).End(xlUp).Offset(1) 'データ蓄積セル For i = 0 To UBound(nyuryoku) chikuseki.Offset(0, i).Value = ws0.Range(nyuryoku(i)).Value ws0.Range(nyuryoku(i)).MergeArea.ClearContents Next masgbox "入力完了" End Sub 十何個あるデータを転送する場合、フォームから入力した方が簡単なのでしょうか? また、表にデータを転記し、そのなかのデータのいくつかを別の表に転記することは、一度の操作で可能ですか? 今週中に仕上げろと言われたので急いでいます、 どうかよろしくお願いします。 質問がまとまっていなくてわかりにくければ申し訳ないです。
- ベストアンサー
- オフィス系ソフト
- VBAを使ってセルを検索後別シートのデータを自動入力したいです。
見ていただきありがとうございます。 エクセルの2000VBAを使って次のようなことを考えています。 シート2に以下のようなデータがあります。 2006/7/20 コード 数量 100 200 200 400 データの数は日によって違います。 シート1には以下の表があります。横軸にはコード縦軸には日付が入っており各対応するセルに数量が入っています。 100 200 300 400 ....←コード 2006/7/1 20 40 100 800 2006/7/2 50 60 200 500 . . . 2007/6/30 このような場合、シート2にコマンドボタンを設けて押したときシート2の日付とコード番号によりシート1の表の検索を行って対応するセルにシート2のデータを転記したいのです。シート2のデータは本日分のデータが入った時点でシート1への転記を行います。(1日一回です) また、シート1の表は2007/6/30(これ以降は必要ないので)までの日付がすでに入力されており明日以降のデータの入るセルは空白になっております。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBA 別シートの最終行に追記
ExcelのSheet1で作成した表の一部項目を、Sheet2に一覧表としてまとめたいのです。 例えばSheet1にアンケート項目のような入力されていて、毎日使いまわします。 セルA1: 訪問日→固定 セルB1: (日付)→更新 セルA3: お客様指名→固定 セルB3: (氏名)→更新 使いまわすので、1度入力されたものは、Sheet2に一覧表として転記しておきたいのです。Sheet2の一覧表の最終行をみつけて追記していきたいです。 書いてみたのは以下の通り。 Private Sub 登録ボタン_Click() Dim SH1 As Worksheet, SH2 As Worksheet Dim GYO As Long Set SH1 = ThisWorkbook.Worksheets("回答内容") Set SH2 = ThisWorkbook.Worksheets("情報シート") ' Sheet2の最終行を取得 GYO = SH2.Range("$A$65536").End(xlUp).Row ' 最終行の次行を取得 If SH2.Cells(GYO, 1).Value <> "" Then GYO = GYO + 1 ' 現在の収容位置の下に転記 SH2.Cells(GYO, 1).Resize(1, 20).Value = SH1.Range("$c$2:$D$10").Value With SH1 .Range("A3").Copy Destination:=SH2.Range("A2") .Range("B3").Copy Destination:=SH2.Range("B2") End With End Sub 項目は飛び飛びのセルに入力されていて、それらをまとめて一覧表の1行にまとめたいと思っています。 ここでは例としてSheet1[A3][B3]セルをSheet2へ転記していますが、項目はもっといっぱいあります。 記載したコードで実行すると、1回目は転記されますが、2回目以降が追記されていきません。 ' 現在の収容位置の下に転記 のところに問題があると思っています。 全くの初心者が、コードを書くのには無理があると思いますが、どなたか教えていただけないでしょうか。宜しくお願いします。
- 締切済み
- その他(プログラミング・開発)
- エクセルの自動転記について
エクセル2003です。 行動予定一覧表を作成中です。 シート1に一覧表 シート2には日付別になっており、 その日付別のを一覧表に自動転記させたいと思っています。 画像をご覧になっていただくのが解りやすいと思うのですが、 項目は、一覧表も日付別も同じものです。 ただ、一覧表にはシート2では欄がなかった日付を加えたいのですが、 これも計算式にて表示出来たらと思っています。 一覧表には、日付別シートの表の中で空欄の場合は、転記されないようにしたいのですが、 可能でしょうか? VBAは苦手なので、出来れば計算式で乗り切りたいと思っています。 何かいい案等があれば教えていただきたいです。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルでデータを蓄積するVBA
蔵書管理用の一覧表です。 エクセルでデータ入力用のフォームは作ることができたのですがシートに転記するVBAをどのように書けばよいのか分かりません。 データは次々に増えていきます。 A列には番号を入力せずに自動的に番号が増えていくようにしたい。 3番まで入力済みのあとは、自動で「4」と番号が付与されて、下の行に転記されるようにしたい。 VBA初心者です。よろしくお願いします。 A B C D 番号 分類 図書名 冊数 1 文庫本 日本の歴史 3 2 週刊誌 新潮 1 3 月刊誌 月刊ゴルフ 1
- 締切済み
- オフィス系ソフト
- VBA別シートの同じ日付に値を転記したいのですが
元データに日付・名前・開始時間・終了時間が入力されていて、人数が150人ほどいます。画像のように元データから別シートの同じ日付に開始時間と終了時間を個人別に転記したいのですが、どうすればいいか悩んでいます。 元データから転記したいデータが1つであれば下記URLを参考にできたのですが、転記したいデータが3つあり、Aさんの4/1~4/30までのあとにBさんの4/1~4/30まで…のように転記したいと思っています。 大変伝わりにくい文章で申し訳ないうえの、VBA初心者のためコピペできる形でお答えいただけると大変助かります。 どなたかご教授いただけないでしょうか…よろしくお願い致します。 参考URL:https://kirinote.com/excelvba-sheet-samedate/
- ベストアンサー
- Visual Basic
- 〖緊急〗エクセルのVBAについて質問です。
エクセルのVBAを使用して、下記の動作を実行したいのですがうまくいきません。 おしえてください。 sheet1に移動したいシート名の一覧を作成し、一覧を参照してシートを移動したいです。 RangeにカーソルをあてるとA1に入力したシート名前が反映しているようなのですが・・・。 sheet1のセルA1に移動させたいシート名を入力しています。 Sub Worksheet() Worksheets(Range("A1")).Activate End Sub ※❝インデックスが有効範囲にありません❞とエラーがでます。 ※同一のBOOK内での作業です。 よろしくおねがいします。
- 締切済み
- Windows XP