• ベストアンサー

上書き、修正、転記

入力用シートで、データシートから"名前"を検索し、 入力用シートへ転記をした後、修正をして元のデータシートへ 上書き転記をします。 新規転記、検索転記まで出来ましたが、上書き転記ができません。 参考になるサイトや、アドバイスを宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

>検索転記まで出来ましたが データシートから入力シートに検索転記したのなら、上書き転記はその逆をするだけのような。。。 感じがしますけど、違うのかな。

ronhikari
質問者

お礼

有難うございます。 簡単に上書き転記ができました。 どうも有難うございました。

その他の回答 (1)

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.1

新規転記、検索転記、のコードを提示してみてはいかがでしょうか?

ronhikari
質問者

補足

有難うございます。 新規転記 省略 ○Hani = Array("B2", "B3", "C2", "C3", "D2", "D3") Set △Tbl = △Sht.Range("□") Set △Rng = △Tbl.Cells(△Tbl.Rows.Count, 1).Offset(1) For i = 0 To UBound(○Hani) △Rng.Offset(0, i).Value = ○Sht.Range(○Hani(i)).Value ○Sht.Range(○Hani(i)).MergeArea.ClearContents Next Set lastRec = △Tbl.Rows(△Tbl.Rows.Count) Set newRec = lastRec.Offset(1) lastRec.Copy newRec.PasteSpecial xlFormats Set △Tbl = △Tbl.Resize(△Tbl.Rows.Count + 1) Names("□").RefersTo = △Tbl 省略  検索転記 省略 ○str = Sheets("入力シート").Range("B2").Value ○Hani = Array("B3", "C2", "C3", "D2", "D3") Set △Rng = Range("□").Columns(1).Find(○str, LookAt:=xlWhole) 省略 宜しくお願いします。

関連するQ&A

  • VBA別シートの同じ日付に値を転記したいのですが

    元データに日付・名前・開始時間・終了時間が入力されていて、人数が150人ほどいます。画像のように元データから別シートの同じ日付に開始時間と終了時間を個人別に転記したいのですが、どうすればいいか悩んでいます。 元データから転記したいデータが1つであれば下記URLを参考にできたのですが、転記したいデータが3つあり、Aさんの4/1~4/30までのあとにBさんの4/1~4/30まで…のように転記したいと思っています。 大変伝わりにくい文章で申し訳ないうえの、VBA初心者のためコピペできる形でお答えいただけると大変助かります。 どなたかご教授いただけないでしょうか…よろしくお願い致します。 参考URL:https://kirinote.com/excelvba-sheet-samedate/

  • 検索して修正したデータの上書転記

    Sub 検索() Dim tmpInt As Integer, motoHani(), myRng As Range, i As Integer tmpInt = Sheets("入力フォーム").Range("C4").Value motoHani = Array("C10", "C12", "C13") Set myRng = Range("テーブル").Columns(1).Find(tmpInt, LookAt:=xlWhole) If myRng Is Nothing Then MsgBox "該当するレコードはありませんでした" Exit Sub End If For i = 0 To UBound(motoHani) Range(motoHani(i)).Value = myRng.Offset(0, i + 1) Next End Sub 入力シートと一覧表シートを作成し入力シートの入力フォームにデータを入れてマクロを実行すると一覧表シートにレコード転記されるようにしました。 一覧表シートに転記したデータを,検索し入力フォーム上に表示させることはできたのですが、データを修正して一覧表シートに更新(上書転記)させる方法がわかりません。どうかご存知の方、教えてください。

  • EXCEL VBA 転記 条件分岐 新規転記 上書転記 プログラム

    いつも御世話になっております。 以下のことをしたいのですが、詰まってしまいました。 皆様の力をお借りしたいと思い、書き込ませていただきます。 ・ボタン1をクリックすると、base(転記元)のG列に書かれた事項と同一のシート(転記先)へ転記する(各シートA,B,Cへ転記) ・転記先のE列を見て、既存のものであれば、上書きする ・転記先のE列を見て、新規のものであれば、空いている行を探し転記する。 (例) base(転記元シート) E1|F1|G1 名前 収入 シート先 月曜 50 A 火曜 100 A 木曜 150 C 土曜 50 A 日曜 100 B 水曜 150 A 金曜 10 C 転記実行前 A(転記先シート) E1|F1|G1 名前 収入 シート先 月曜 A 火曜 A 土曜 A 転記実行後 A(転記先シート) E1|F1|G1 名前 収入 シート先 月曜 50 A 火曜 100 A 土曜 50 A 水曜 150 A 以下に作成したプログラムを記述します。 が、IF文に関するエラーが生じております。 Sub ボタン1_Click() Dim dstSheet As Worksheet Dim srcRow As Long Dim dstRow As Long Dim name As Integer Dim obj As Object Set srcSheet = Sheets("base") For srcRow = 2 To srcSheet.Range("G" & Rows.Count).End(xlUp).Row '元シートのデータ範囲で繰り返し(シート先は必須なのでG列でチェック) If srcSheet.Range("G" & srcRow).Value <> "" Then '(転記先シート名)が空白でない場合に実行(1) Set dstSheet = Sheets(srcSheet.Range("G" & srcRow).Value) 'シート取得(1) name = Sheets(srcSheet.Range("E" & srcRow).Value) '名前を取得(1) Set obj = Worksheets(dstSheet).Cells.Find(name) '名前を転記先の中で検索(1) End If '(1)の終了 If obj Is Nothing Then '検索でかからなかったら、新たに空白の行を見つけて転記元から転記先へ転記する(3) '以下3行問題点???? dstRow = dstSheet.Range("G" & Rows.Count).End(xlUp).Row + 1 '転記先行取得 If dstSheet.Range("E2") = "" Then dstRow = 1 '質問で転記先には1行目からなので、それに対応 dstSheet.Range("E" & dstRow).Resize(1, 3).Value = srcSheet.Range("E" & srcRow).Resize(1, 3).Value 'データ転記 End If Else '検索でかかったら、該当の行のアドレスを割り出し、特定の範囲を上書きする。(4) lngYLine = obj.Row intXLine = obj.Column With Sheets(dstSheet) '検索でかかったら、該当の行のアドレスを割り出し、特定の範囲を上書きする。(4) dstSheet.Range("E" & lngYLine).Resize(1, 3).Value = srcSheet.Range("E" & srcRow).Resize(1, 3).Value 'データ転記(4) End If '(3),(4)の終了 Set obj = Nothing 'Objの初期化 Next End Sub

  • CDRWの上書き修正について・・?

    こんにちは。 すいません、基本的になことなんですが。 CDRWってフロッピーと同じと思ってちゃだめなんですか? 上書き修正ってできないのですか? CDRWから呼び出したファイルにデータを書きこんで 上書き修正しようとすると、新しく名前をつけることしかできないんです。(+_+) さらに消したいファイルを削除できない? CD-Rは↑みたいな感じだけどCDRWだったら フロッピーと同じ考え方でいいって昔聞いたことが あったので、これって私の勘違いでしょうか? すいません。初歩的で・・・。

  • Access2002★MDEファイルを修正したい!!

    MDEファイルを使って、データを入力しています。 デザインや項目の追加をしたくて、元のファイルを修正したのはよいのですが、その後はどうすればよいのでしょうか? 元のファイルをもう一度MDEファイルとして保存すると、上書きされてしまって、せっかく入力したデータが消えてしまいます。 ヘルプは見ましたがどうも分かりません。 良いアドバイスをお願いしますm(__)m

  • PHPを使用したデータの修正・上書き方法

    はじめまして。 当方、PHPを学習しはじめて1ヶ月の初心者です。 ですので、ご質問させくていただく内容も説明も拙いものかと存じますが、よろしくお願いいたします。 以下のようなページを作成するという問題で、入力保存したデータを修正しテキストに上書きするという操作につまずき途方にくれております。 1.データ入力画面 →a,b,c,d,のテキストボックスに任意に入力 2.登録画面 →テキストファイルに行単位で"a"モードで保存($data=$a."'".$b.",".$c."'".$d."\n") 3.検索・修正値入力画面 →aの値を検索し、付随するb,c,dをでテキストボックス内に表示。(テキストボックス内は修正可) 4.上書き登録 上記の4の工程をどのようにしていったらいいのでしょうか。 自力でたどり着いたのは・・・ 「3で修正した値を新たな名前(new_aなど)でPOSTでうけとり、$aと$new_aが一緒のとき・・・」 までです。(情けない・・・) 模索中は以下になります if($a==$new_a) {$data=$new_a."'".$new_b."'".$new_c."'".$new_d."\n" } else {$data=$data} その後テキストファイルを"w"モードで開きputs closeでは?と しかし、この方法でいくと修正した箇所a[0]はなおっても、修正しなかったほかの行のデータa[1]やa[2]がきえます。 どのように考え、スクリプトをかいていけばいいのでしょうか? よろしくお願いもうしあげます。

    • ベストアンサー
    • PHP
  • エクセルの自動転記について

    画像を2つ添付していますので参考に見て下さい。 やりたい事は、入力シートと集計シートは別なのですが、12カ月分12枚の入力シートから1枚の集計シートへ転記。 担当者別・扱いNo・売上種類・計算した後の金額(単価×数量)を集計シートに転記して入れたい。 添付写真のように、担当別の枠に数字の若い順番で転記させる事は可能でしょうか? 毎回コピペでやっており、大変困ってます。 どなたか、頭の悪いわたしへ教えて下さい。

  • エクセルマクロで自動転記について

    独学で手さぐりしながら学んでいますが、どうしてもうまくいかず。 アドバイス頂けないでしょうか? (1)を毎回元にして、出荷指示を作成していき、入力後保存ボタンをおすと(2)の別シートに自動転記して 月々のリストを作成していきたいのです。 知っているマクロでやろうとすると、同じデータシートに(2)がある為、(1)を開くたびにデータが消えてしまい溜まっていきません。効率の良いやり方と、もし可能であれば実現できるモジュールコード教えて頂けないでしょうか?

  • VBAの修正・上書きについて

    下記、コードにてVBAで作成したユーザーフォームにエクセルで管理している 顧客名簿を表示させ、修正をした後、元のセルに修正したものを 上書きするというコードを書きたいのですが、 実行時エラーにて作動しません。 下記をどのように、直せばいいのかご指摘お願いします。 ※その他に、検索ボタンのプロシージャもありますが、こちらに載せたほうが いいのでしょうか? (修正ボタンを押したときのプロシージャ) Private Sub CommandButton1_Click() Dim gyou As Long Dim z As Object Dim i As Integer With Worksheets("Sheet1") gyou = z.Row For i = 1 To 16 Cells(gyou, i).Value = Me.Controls("TextBox" & i).Text Next End With TextBox1.SetFocus End Sub

  • EXCELデータの転記

    あるシートに打ち込んだデータが、もれなく別のシートにも転記できるようにしたいのです。 シート1:「全顧客リスト」 シート2以降:「各顧客の詳細データ」 1で打ち込んだデータが、2に転記されるようにしたいのです。 「マクロ」というものを使うのでしょうか? いろいろ調べてみましたが、今ひとつぴんときません。 方法をご存知の方、または定評のあるQ&Aサイトをご存知の方、教えてください!