وعليكم السلام،
بصراحة عندما طرحت سؤالك لأول مرة .. لم أفهم ما كنت تريده بالضبط .. ولكن عندما رأيت الكود والملف المرفق فهمت طلبك .. وأعتقد أن الكود التالي أقصر ويخدم بشكل أكبر ويعمل على كامل الأعمدة وليس على خلايا معينة فقط .. أي بإمكانك إضافة سجلات آخرى جديدة بدون التعديل على الكود..
Private Sub Worksheet_Change(ByVal Target As Range)
Dim RoomNo As String
Dim fndRoom As Range
If Target.Count = 1 And Target.Column = 4 Then
If Target.Value > 0 Then
RoomNo = InputBox("أدخل رقم الشقة المُراد إدخال بيانات النزيل فيها","نموذج إدخال رقم الشقة")
With Columns(3)
Set fndRoom = .Find(RoomNo)
End With
If Not fndRoom Is Nothing Then
fndRoom.Offset(0, -2).Select
Else
MsgBox "رقم الشقة الذي أدخلته غير موجود", vbExclamation, "عفــواً"
End If
End If
End If
End Sub
حظاً سعيداً،