人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excel 2000のブックの「シート1」に、「氏名(A列)」、「住所(B列)」、「電話番号(C列)」が、10万件ほど記入されています。同じフォーマットで、「シート2」にも、同じフォーマットで入力されています。

さて、「シート2」に含まれる人が、「シート1」に含まれる人の「氏名」・「住所」が同じであるが、「電話番号」だけが違う、という状況があるとします。

このときに、「シート1」のその人の電話番号を、「シート2」の新しい電話番号に書き換えるには、どのようにすればよろしいでしょうか?

●質問者: ILoveWeb
●カテゴリ:コンピュータ
✍キーワード:Excel けが フォーマット 入力 電話
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● SALINGER
●60ポイント

VBAを使って一括で処理するとして、ループを使って捜査してもそんなに時間はかからないと思いますが、

ワークシート関数を使って工夫してみました。


Sub Macro()
 Dim i As Long
 Dim lastRow1 As Long
 Dim lastRow2 As Long
 Dim r As Long
 Dim s As String
 
 Application.ScreenUpdating = False
 
 lastRow1 = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
 lastRow2 = Sheet2.Cells(Rows.Count, 1).End(xlUp).Row
 
 For i = 1 To lastRow2
 s = "=SUMPRODUCT((Sheet1!$A$1:$A$" & lastRow1 & "=Sheet2!A" & i & ")*(Sheet1!$B$1:$B$" _
 & lastRow1 & "=Sheet2!B" & i & ")*ROW(Sheet1!$A$1:$A$" & lastRow1 & "))"

 r = Application.Evaluate(s)
 If r > 0 Then
 Sheet1.Cells(r, "C").Value = Sheet2.Cells(i, "C").Value
 End If
 Next i
 
 Application.ScreenUpdating = True
End Sub
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ