اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر

السلام عليكم

اريد منكم لطفا ان استفسر عن الثوابت التي لا تتغير في اي كود والمتغيرات التي تختلف بأختلاف المطلوب من الكود وسأرفق كود ارجو التوضيح عليه ماهو الثابت فيه  وماهو المتغير اذا تكرمتم فهذه طريقة استاطيع من خلالها ان افهم الاكواد بشكل اعمق

Private Sub CmdNew_Click()
Dim ws As Worksheet
Dim lr As Long

Set ws = ThisWorkbook.Sheets("البيانات")

If Me.txtid = "" Or Me.txtname = "" Or Me.cbos = "" Or Me.txtplace = "" Or Me.cboy = "" Or Me.txtbdate = "" Then
MsgBox "من فضلك قم بإستكمال البيانات الأساسية أولاً قبل الترحيل", vbCritical + vbOKOnly, "حقول فارغة"
Exit Sub
End If

lr = ws.Cells(Rows.Count, "K").End(xlUp).Row + 1

Application.ScreenUpdating = False
ws.Range("AB1:AG1").Copy
ws.Range("D" & lr + 1).PasteSpecial , Transpose:=True
ws.Range("AB2:AH2").Copy
ws.Range("F" & lr).PasteSpecial , Transpose:=True
ws.Range("AB3:AI3").Copy
ws.Range("K" & lr).PasteSpecial , Transpose:=True
Application.CutCopyMode = False

With ws
.Cells(lr, "C") = Me.txtname
.Cells(lr, "D") = lbly.Caption
.Cells(lr + 1, "E") = Me.txtid
.Cells(lr + 2, "E") = Me.cbos
.Cells(lr + 3, "E") = Me.txtplace
.Cells(lr + 4, "E") = Me.cboy
.Cells(lr + 5, "E") = Me.txtbdate
.Cells(lr + 6, "E") = Me.lbldate

.Cells(lr, "G") = Me.TextBoxA
  For i = 1 To 6
    .Cells(lr + i, "G") = Me.Controls("TextBoxA" & i).Value
  Next i
  
.Cells(lr, "H") = Me.TextBoxB
  For i = 1 To 6
    .Cells(lr + i, "H") = Me.Controls("TextBoxB" & i).Value
  Next i
  
.Cells(lr, "I") = Me.TextBoxC
  For i = 1 To 6
    .Cells(lr + i, "I") = Me.Controls("TextBoxC" & i).Value
  Next i

.Cells(lr, "J") = Me.TextBoxD
  For i = 1 To 5
    .Cells(lr + i, "J") = Me.Controls("TextBoxD" & i).Value
  Next i
  
 .Cells(lr, "L") = Me.TextBoxE
  For i = 1 To 7
    .Cells(lr + i, "L") = Me.Controls("TextBoxE" & i).Value
  Next i
  
End With
ws.Cells(lr, 3).Select

Application.ScreenUpdating = True
End Sub

Private Sub CmdPrint_Click()
'   Display "Printer Setup" dialog box
    Application.Dialogs(xlDialogPrinterSetup).Show
'   Option Explicit
'   Sub SelectSheets()
    Dim i As Integer
    Dim TopPos As Integer
    Dim SheetCount As Integer
    Dim PrintDlg As DialogSheet
    Dim CurrentSheet As Worksheet
    Dim cb As CheckBox
    Dim Numcop As Long
    Application.ScreenUpdating = False
'   Check for protected workbook
    If ActiveWorkbook.ProtectStructure Then
        MsgBox "Workbook is protected.", vbCritical
        Exit Sub
    End If
قام بنشر

أخى الفاضل أ.طارق

 

شاهد هذا الفيديو الرائع للأستاذ القدير أ.محمد صالح، وستعلم الفرق بين المتغيرات والثوابت وكيفية الاعلان عنها وكيفية التحويل بينها وستتضح لك الصورة كاملة... في الأكواد المرفقة لا توجد ثوابت كلها متغيرات :biggrin2: 

 

 

تحياتي :fff: 

قام بنشر

أخي الحبيب ابن مصر ..ممكن تعديل على معلومة بسيطة داخل الفيديو

انظر لهذا الكود

Sub Test()
    Dim a1, a2, a3 As Integer
    a1 = 12.5
    a2 = 10.1
    a3 = 25.3
    MsgBox a1 & Space(5) & a2 & Space(5) & a3
End Sub

تم الإعلان داخل سطر واحد عن 3 متغيرات ، ولكن هذا لا يعني أن المتغيرات الثلاثة من نفس النوع والدليل هذا الكود

فناتج المتغير a3 يساوي 25 فقط لأننا قمنا بالإعلان عنه من النوع Integer أما المتغيرين a1 و a2 فتم الإعلان عنهم من النوع Variant .. وليس كما ورد بالفيديو أن المتغيرات الثلاثة من نفس النوع ..

  • Like 1
قام بنشر

تم الإعلان داخل سطر واحد عن 3 متغيرات ، ولكن هذا لا يعني أن المتغيرات الثلاثة من نفس النوع والدليل هذا الكود

فناتج المتغير a3 يساوي 25 فقط لأننا قمنا بالإعلان عنه من النوع Integer أما المتغيرين a1 و a2 فتم الإعلان عنهم من النوع Variant .. وليس كما ورد بالفيديو أن المتغيرات الثلاثة من نفس النوع ..

 

استاذي القدير

 

انا لم اشاهد الفيديو بشكل كامل، مررت عليه مرور الكرام وهو فيديو مفيد وهام وادعوا الله أن يجازى أستاذنا الكريم أ.محمد صالح كل خير وأن يجعل عمله في ميزان حسناته

 

لكن بالفعل كلام حضرتك صحيح 100% فتعريف جميع المتغيرات بهذا الشكل غير مفضلة لانها تظهر وكأنها نفس النوع لكن دائما المتغير الاخير قبل كلمة As هو الذي يأخذ النوع المحدد بينما الباقي يتم تعريفهم ك Variant

 

فلو كتبنا

 

Dim L,K,M As Long

 

هنا M فقط هو ال Long بينما L,K من نوع Variant

 

جزاك الله كل خير على التوضيح أبو البراء

 

تحياتي :fff: 

  • Like 2

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information