No.2ベストアンサー
- 回答日時:
こんにちわ
Sheet1 データ保存場所 (A列 氏名) (B列 住所) (C列 TEL)
Sheet2 データを入力する場所 A1 氏名 B1 住所 C1 TEL ボタン(ファームより)
仕組み
(1)Sheet2にデータを入力する。
(2)ボタンを押す。
(3)Sheet1のA行を一列挿入する。
(4)Sheet2のデータをSheet1のA行に貼り付ける。
(5)A列より後ろ(BCD・・・に同じデータが無いか見て有る場合は後ろを削除する。)
注意 主キーはA1です。
ボタンを右クリック、マクロの登録新規にて、モジュールに下記を貼り付けて下さい。
記↓
Sub Macro1()
' マクロ記録日 : 2007/8/27 ユーザー名 : test
Rows("1:1").Select
Selection.Copy
Sheets("Sheet1").Select
Rows("1:1").Select
Selection.Insert Shift:=xlDown
Range("A1").Select
Sheets("Sheet2").Select
Application.CutCopyMode = False
Range("A1").Select
Call sample
End Sub
Sub sample()
Dim key As String
Dim RCnt As Long
Dim i As Long
key = "A1"
Worksheets("Sheet1").Activate
ActiveSheet.Range(key).Select
Selection.Sort Key1:=Range(key), Order1:=xlAscending
RCnt = ActiveSheet.Range(key).CurrentRegion.Rows.Count
For i = 1 To RCnt
With ActiveCell
If .Value = .Offset(1, 0).Value Then
'Selection.EntireRow.Delete
.Offset(1, 0).EntireRow.Delete
Else
.Offset(1, 0).Select
End If
End With
Next i
End Sub
同じ名前の人も同一データと見てしまう為、主キーに管理番号を入力した方が良いと思います。
回答ありがとうございます。
今、ネットで調べながら奮闘しています。
なんとかできそうです!
また、主キーの設定も自分にとってはビンゴでした。
No.4
- 回答日時:
なぜ上書きするシート1をわざわざ作るのか理解に苦しむ。
シート2に書き込む(入力する)のとそんなに変わらない。
VBAも良くわからないうちに、背伸びです。
ですから質問は、課題丸投げです。
私見を参考に。
普通は、シート1に替えて
(1)ユーザーフォームを作り氏名、住所等を受け付けるコントロールを設けて、入力させる。
(2)データーフォームのフォームを使う
(3)シートをフォークのように似せて
項目ごとに、見出しも含め、多列、タ行を使って設計し
コマンドボタン等のクリックで、シート2の最後の行の
次にセットして、フォームに当たるものの項目はクリアして次ぎの
入力に備える。
ーー
既出回答は複雑ですが、簡単なのは
Private Sub CommandButton1_Click()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
d = sh2.Range("A65536").End(xlUp).Row
MsgBox d
sh2.Cells(d + 1, "A") = sh1.Cells(1, "A")
' B列以下同じようなコードを続ける
Set sh1 = Nothing
Set sh2 = Nothing
End Sub
この回答への補足
確かに背伸びかもしれません・・・
マクロは初めてだったのですが、エクセルやほかのソフトはそれなりに知識があると思っていたので、できるのではと過信しておりました。
なんとかなりそうです。
ありがとうございます。
No.3
- 回答日時:
こんにちは。
コントロールツールのボタンをひとつ作って、
たぶん、一行目にはタイトルが入るから、2行目に入れるとすれば、こんな風ですね。
Private Sub CommandButton1_Click()
With Rows(2)
'2行目になにも入れていなければ、パス
If WorksheetFunction.CountA(.Cells) = 0 Then Exit Sub
.Copy Worksheets("Sheet2").Range("A65536").End(xlUp).Offset(1)
'2行目をコピーする形で、Sheet2 の上から空いている行にコピーし、元の入力した行を削除する。
.ClearContents
'メッセージを出す
MsgBox WorksheetFunction.CountA(Worksheets("Sheet2").Columns(1)) - 1 & "個目コピー完了"
End With
End Sub
コピーし終わって必要なら、Sheet2 で並べ替えればよいと思います。
No.1
- 回答日時:
フォームを使っての入力では駄目なのでしょうか?
http://azby.fmworld.net/usage/windows_tips/20060 …
http://dreamy.boy.jp/kihon9.htm
この回答への補足
ご回答ありがとうございます。
フォーム入力も考えていましたが、1枚目のシートと他のページもリンクさせて活用したいので、質問事項のような方法を考えています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロで複数シートを両面印刷するには? 2 2022/12/08 23:23
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) Excelで、別シートの表のステータスに伴った動的な自動転記をしたいです。 2 2023/06/14 15:56
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Excel(エクセル) Excelでポイントの管理表を作成したいです。 個人ごとにシートを作成し、発行者のシートでポイントを 3 2023/08/22 16:59
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの保護で、列の表示や...
-
ExcelのVlookup関数の制限について
-
文字の色も参照 VLOOKUP
-
エクセルの列の限界は255列以上...
-
VBAで繰り返しコピーしながら下...
-
【VBA】複数のシートの指定した...
-
SUMPRODUCTにて別シートのデー...
-
VLOOKアップ関数の結果の...
-
エクセルの複数シートにあるデ...
-
Excel VBA ピボットテーブルに...
-
エクセル マクロ 標準モジュー...
-
【条件付き書式】countifsで複...
-
ある数値に対して、値を返す数...
-
Excel の複数シートの列幅を同...
-
エクセルで横並びの複数データ...
-
エクセル 日報売上を月報に展開...
-
スプレッドシートでindexとIMPO...
-
【VBA】ピボットテーブルを既存...
-
【VBA】シート名と見出しが一致...
-
アンケート集計をエクセルで行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのVlookup関数の制限について
-
文字の色も参照 VLOOKUP
-
オートフィルタ使用時にCOUNTIF...
-
エクセルの保護で、列の表示や...
-
VBAで繰り返しコピーしながら下...
-
エクセル関数に詳しい方、教え...
-
【条件付き書式】countifsで複...
-
Excel の複数シートの列幅を同...
-
エクセル マクロ 標準モジュー...
-
エクセルで横並びの複数データ...
-
エクセルの列の限界は255列以上...
-
Excelでの並べ替えを全シートま...
-
VLOOKアップ関数の結果の...
-
SUMPRODUCTにて別シートのデー...
-
エクセルで、チェックボックス...
-
Excel VBA ピボットテーブルに...
-
【エクセル】1列のデータを交...
-
エクセルVBAで、ある文字を含ん...
-
エクセルのブック分割マクロを...
-
excel 複数のシートの同じ場所...
おすすめ情報