وعليكم السلام ورحمه الله وبركاته
تفضل الكود كاملا البحث والترحيل
CODE
Option Explicit
Private WS As Worksheet, SH As Worksheet
Private Sub Label2_Click()
End Sub
Private Sub UserForm_Initialize()
Set WS = ThisWorkbook.Worksheets("المخزن")
Set SH = ThisWorkbook.Worksheets("مبيعات")
End Sub
Private Sub TextFind_Change()
Dim K As Integer, C As Range, LR As Long
'( 3 )معرفة اخر سطر به بيانات في العامود الذي نريد البحث فيه وهو هنا الصنف
LR = WS.Cells(Rows.Count, 3).End(xlUp).Row
K = 0
' تجاهل اي خطأ ثم يكمل مشوار الالف خطوة
On Error Resume Next
' بدء التعامل مع الليست بوكس
With Me.ListFind
' مسح محتويات الليست بوكس قبل تعبئة الليست بوكس
.Clear
' عدد الاعمدة في الليست بوكس
.ColumnCount = 1
' (C)البحث عن طريق العامود
For Each C In WS.Range("C2:C" & LR)
' البحث باى حرف من حروف الكلمة سواء اول الكلمه او اخرها او منتصفها
If C Like "*" & TextFind.Value & "*" Then
' بدء تعبئة الليست بوكس
.AddItem
' .List(K, 0) الصفر هنا هو اول عامود في الليست
.List(K, 0) = WS.Cells(C.Row, 3).Value
' .List(K, 1) الواحد هنا هو عامود العدد هو ثانى عامود في الليست
.List(K, 1) = WS.Cells(C.Row, 4).Value
' .List(K, 2) الاثنين هنا هو عامود السعر هو ثالث عامود في الليست
.List(K, 2) = WS.Cells(C.Row, 5).Value
K = K + 1
End If
Next C
End With
End Sub
Private Sub Listfind_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim SHLR As Long, I As Long
For I = 0 To Me.ListFind.ListCount
If Me.ListFind.Selected(I) = True Then
' مفعل كمل OptionButton3 لو كان
If OptionButton3.Value = True Then
'( 6 )معرفة اخر سطر به بيانات في العامود الذي نريد الترحيل اليه في المبيعات وهو هنا
SHLR = SH.Cells(Rows.Count, 6).End(xlUp).Row + 1
SH.Range("F" & SHLR).Value = Me.ListFind.List(I, 0)
SH.Range("G" & SHLR).Value = Me.ListFind.List(I, 1)
SH.Range("H" & SHLR).Value = Me.ListFind.List(I, 2)
' معادله لحساب العدد في السعر بدل كتابتها في كل العامود
SH.Range("I" & SHLR).Formula = "=" & SH.Range("G" & SHLR).Address & "*" & SH.Range("H" & SHLR).Address
CreateObject("WScript.Shell").Popup "نم ترحيل البيانات بنجاح", 1, "صل على النبي"
Else
' مفعل كمل OptionButton4 لو كان
If OptionButton4.Value = True Then
' ( 12 )معرفة اخر سطر به بيانات في العامود الذي نريد الترحيل اليه في المشتريات وهو هنا
SHLR = SH.Cells(Rows.Count, 12).End(xlUp).Row + 1
SH.Range("L" & SHLR).Value = Me.ListFind.List(I, 0)
SH.Range("M" & SHLR).Value = Me.ListFind.List(I, 1)
SH.Range("N" & SHLR).Value = Me.ListFind.List(I, 2)
' معادله لحساب العدد في السعر بدل كتابتها في كل العامود
SH.Range("O" & SHLR).Formula = "=" & SH.Range("M" & SHLR).Address & "*" & SH.Range("N" & SHLR).Address
CreateObject("WScript.Shell").Popup "نم ترحيل البيانات بنجاح", 1, "صل على النبي"
End If
End If
Else
End If
Next I
End Sub