اذهب الي المحتوي
أوفيسنا

اضافة البيانات في أكثر من شيت في ملف اكسل


عفرنس
إذهب إلى أفضل إجابة Solved by أبو عبدالله الحلوانى,

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

السلام عليكم 

لدي هذا البرنامج أعمل عليه في اضافة أسماء وأرقام  الطلاب  للشعبة رقم 1 في عمود C و عمود D في شيت رقم 2 في ملف اكسل المرفق . 

** الان أريد اضافة بيانات الشعبة رقم 2 في شيت رقم 4 

وبيانات أيضا الشعبة رقم 3 في شيت رقم 6 .. وهكذا بقية الشعب . بنفس الطريقة . 

 

1.jpg

تجربة.rar

رابط هذا التعليق
شارك

Public Function barnaExcelFile(sXlsFile As String)

Dim fso As Object
    Dim fldrname As String
    Dim fldrpath As String

    Set fso = CreateObject("scripting.filesystemobject")
    fldrname = [text3]
    fldrpath = CurrentProject.Path & "\السجل الالكتروني\" & fldrname
    If Not fso.FolderExists(fldrpath) Then
        fso.createfolder (fldrpath)
    End If

Dim LExcelOriginal      As String
Dim LExcelCopyOf        As String
    LExcelOriginal = sXlsFile
    LExcelCopyOf = CurrentProject.Path & "\السجل الالكتروني\" & [text3] & "\" & [Forms]![FORM2]![text2] & "_..xlsm"
        FileCopy LExcelOriginal, LExcelCopyOf


Dim db1          As DAO.Database
Dim Rst1         As DAO.Recordset
    Set db1 = CurrentDb
Dim objExcel     As Object
Dim objWorkbook  As Object
    Set objExcel = CreateObject("Excel.Application")
    Set objWorkbook = objExcel.Workbooks.Open(LExcelCopyOf)
  
     Set Rst1 = db1.OpenRecordset("Select * FROM temp ORDER BY stuname", dbOpenSnapshot)
objWorkbook.Sheets(2).range("B1").Value = "اسماء طلاب الصف " & "(" & [Forms]![FORM2]![text1] & ")" & " -- " & "(" & [Forms]![FORM2]![text2] & ")" & " المادة " & "(" & [Forms]![FORM2]![text3] & ")" & " معلم المادة / " & "(" & [Forms]![FORM2]![text4] & ")"
    With Rst1
        If .RecordCount <> 0 Then
            .MoveFirst
            objWorkbook.Sheets(2).range("C5").CopyFromRecordset Rst1
            objWorkbook.Sheets(2).range("C5").Select
        End If
    End With
  objExcel.DisplayAlerts = True
  objWorkbook.Close SaveChanges:=True
  Set objWorkbook = Nothing
  objExcel.Quit

Set objExcel = Nothing
Set Rst1 = Nothing
Set db1 = Nothing
'VBA.Shell "Explorer.exe " & Chr(34) & LExcelCopyOf & Chr(34), vbNormalFocus"هذا السطر لفتح ملف الاكسل بعد التصدير"
DoCmd.DeleteObject acTable, "temp"
    MsgBox "تم تصديرالبيانات بنجاح"
End Function

هذا الكود يتم ترحيل البيانات من خلاله إلى شيت رقم 2 فقط في ملف اكسل المرفق في أول الموضوع . 

  ( ما الذي يجب تعديله في الكود حتى أستطيع أرحل البيانات إلى أكثر من شيت ، بحيث يتم تحديد الشيت المراد ترحيل البيانات إليه ؟ ) 

@jjafferr @صالح حمادي @أبو عبدالله الحلوانى 

رابط هذا التعليق
شارك

أهلا بك أبا عبدالرحمن..

19 ساعات مضت, عفرنس said:

يارب تيسر لي من يعينني على طلبي هذا ..

كيف أستطيع أن أساعد؟

لم أجد في الملفات المرفقة ما أشرت إليه أدناه ولم استطع أن أفهم طلبك

في ٩‏/١٢‏/٢٠٢٠ at 23:59, عفرنس said:

لدي هذا البرنامج أعمل عليه في اضافة أسماء وأرقام  الطلاب  للشعبة رقم 1 في عمود C و عمود D في شيت رقم 2 في ملف اكسل المرفق . 

** الان أريد اضافة بيانات الشعبة رقم 2 في شيت رقم 4 

وبيانات أيضا الشعبة رقم 3 في شيت رقم 6 .. وهكذا بقية الشعب . بنفس الطريقة . 

 

رابط هذا التعليق
شارك

3 ساعات مضت, أبو إبراهيم الغامدي said:

أهلا بك أبا عبدالرحمن..

كيف أستطيع أن أساعد؟

لم أجد في الملفات المرفقة ما أشرت إليه أدناه ولم استطع أن أفهم طلبك

 

حياك الله أخي @أبو إبراهيم الغامدي 

لعل الصور المرفقة توضح المطلوب .. 

1- في الرنامج يتم اختيار الصف والشعبة والمادة واسم المعلم .

2- يتم اختيارملف كسل المرفق 

3- تصدير أو ترحيل رقم الطالب الأكاديمي إلى ملف اكسل ويكون في العمود D  و كذلك اسم الطالب ليكون في عمود C  في شيت رقم 2 . 

هذا كله من خلال البرنامج المرفق من النموذج المسمى Form2 . 

طلبي هو ( أريد ترحيل أسماء الطلاب وأرقامهم الأكاديمية للشعبة 2 لتكون في شيت رقم 4 ، والشعبة 3 لتكون في شيت 6 وهكذا .. ) 

أرجو أن أكود أوصلت مأريد بشكل أفضل . 

1.jpg

2.jpg

رابط هذا التعليق
شارك

في ٩‏/١٢‏/٢٠٢٠ at 22:59, عفرنس said:

** الان أريد اضافة بيانات الشعبة رقم 2 في شيت رقم 4 

وبيانات أيضا الشعبة رقم 3 في شيت رقم 6 .. وهكذا بقية الشعب . بنفس الطريقة . 

مرحبا بك اخي أبي عبدالرحمن 

هل سيتم تصدير الشعب بشكل متتالي اليا أم أنك ستقوم بتصدير البيانات بعد تحديد الشعبة أولا

مبدأيا سأفترض أنك ستقوم بتحديد الشعبة ثم تقوم بالضغط علي زر ترحيل البيانات.

أولا - سنقوم باضافة البرمتر الجديد رقم الشيت في تعريف دالة التصدير بهذا الشكل

Public Function barnaExcelFile(sXlsFile As String, ByVal ShabaNo as Integer)

ثانيا - لا حظت أنك تصدر الشعبة 2 في شيت 4 وكذلك شعبة 3 في شيت 6 أي أن رقم الشيت المستهدف ضعف رقم الشعبة علي هذا سيكون التعديل داخل الكود بهذا الشكل:

dim shetNo as Integer
shetNo = ShabaNo*2
objWorkbook.Sheets(shetNo).range("B1").Value = "اسماء طلاب الصف " & "(" & [Forms]![FORM2]![text1] & ")" & " -- " & "(" & [Forms]![FORM2]![text2] & ")" & " المادة " & "(" & [Forms]![FORM2]![text3] & ")" & " معلم المادة / " & "(" & [Forms]![FORM2]![text4] & ")"
    With Rst1
        If .RecordCount <> 0 Then
            .MoveFirst
            objWorkbook.Sheets(shetNo).range("C5").CopyFromRecordset Rst1
            objWorkbook.Sheets(shetNo).range("C5").Select
        End If
    End With

وعند مناداة دالة الترحيل لا تنسي تحديد بارمتر الشعبة الي اسم الحقل الذي ستختار منه الشعبة هكذا:

Call barnaExcelFile(text0,text1)

 

تمنايتي بالتوفيق

رابط هذا التعليق
شارك

29 دقائق مضت, أبو عبدالله الحلوانى said:

Call barnaExcelFile(text0,text1)

أخي @أبو عبدالله الحلوانى تم تعديل الكود إلى ما أشرت إليه .. لكن الجملة الأخيرة الخاصة بتحديد بارمتر الشعبة الي اسم الحقل الذي ستختار منه الشعبة لم تضبط .. 

لعلك تسعفني بتعديل الكود في نفس البرنامج المرفق مسبقا .. وجزاك الله خيرا . 

3.jpg

رابط هذا التعليق
شارك

37 دقائق مضت, أبو عبدالله الحلوانى said:

هل سيتم تصدير الشعب بشكل متتالي اليا أم أنك ستقوم بتصدير البيانات بعد تحديد الشعبة أولا

سأقوم أنا بتصدير البيانات بعد تحديد الشعبة أولا . 

رابط هذا التعليق
شارك

8 دقائق مضت, عفرنس said:

الأخيرة الخاصة بتحديد بارمتر الشعبة الي اسم الحقل الذي ستختار منه الشعبة لم تضبط .

أخي أنا كتبت Text0 ,text1 أسماء وهمية لحقل النص الذي به مسار الشيت والذي لا أدي ماذا تسميه أنت وكذلك حقل اسم الشعبة والذي لا أدري ما اسمه لديك غير كلمتي Text0 ,text1 باسماء مربعات النص التي لديك أنت 

ملاحظة: يجب أن يكون حقل الشعبة رقم

رابط هذا التعليق
شارك

10 دقائق مضت, أبو عبدالله الحلوانى said:

أخي أنا كتبت Text0 ,text1 أسماء وهمية لحقل النص الذي به مسار الشيت والذي لا أدي ماذا تسميه أنت وكذلك حقل اسم الشعبة والذي لا أدري ما اسمه لديك غير كلمتي Text0 ,text1 باسماء مربعات النص التي لديك أنت 

ملاحظة: يجب أن يكون حقل الشعبة رقم

جزاك الله خيرا .. 

غيرت حقل الشعبة إلى رقم .. لكن ظهر لي الخطأ الذي في الصورة .. 

وأرجو أن تتحملني فأنا قليل المعرفة في الأكواد .. 

1.jpg

رابط هذا التعليق
شارك

يبدو أن الكود معكوس فأعتقد أن التحديد قبل النسخ

جرب هذا أولا:

    With Rst1
        If .RecordCount <> 0 Then
            .MoveFirst
            objWorkbook.Sheets(shetNo).range("C5").Select
           objWorkbook.Sheets(shetNo).range("C5").CopyFromRecordset Rst1
        End If
    End With

أو أرفق المرفق النهائي بعدالتعديل للاتمكن من رؤية المشكلة

تمنايتب بالتوفيق

رابط هذا التعليق
شارك

10 دقائق مضت, أبو عبدالله الحلوانى said:

يبدو أن الكود معكوس فأعتقد أن التحديد قبل النسخ

جرب هذا أولا:


    With Rst1
        If .RecordCount <> 0 Then
            .MoveFirst
            objWorkbook.Sheets(shetNo).range("C5").Select
           objWorkbook.Sheets(shetNo).range("C5").CopyFromRecordset Rst1
        End If
    End With

أو أرفق المرفق النهائي بعدالتعديل للاتمكن من رؤية المشكلة

تمنايتب بالتوفيق

تفضل المرفق .. وفقك الله .. 

ملحوظة / يجب ان يكون البرنامج ومجلد السجل الالكتروني معا في مجلد واحد . 

تجربة.rar

رابط هذا التعليق
شارك

5 ساعات مضت, أبو عبدالله الحلوانى said:

جرب هذا ووافنا بالنتائج

 

تجربة.rar 626.86 kB · 0 downloads

أخي @أبو عبدالله الحلوانى هناك ملحوظتان .. هما : 

** لم يعد يظهر رقم الشعبة في البرنامج كما في الصورة المرفقة 

** لم يتم اضافة أسماء الطلاب والرقم الأكاديمي في الشيت رقم 4 . إنما تم اضافتهم في ملف جديد في شيت رقم 4 وهذا غير المطلوب . 

المطلوب ( جميع الشيتات حتكون في صفحة واحدة، بحيث الشعبة 1 في الشيت رقم 2 والشعبة 2 في شيت رقم 4 والشعبة 3 في الشي رقم 6 .. ) 

1.jpg

2.jpg

2.jpg

رابط هذا التعليق
شارك

1 ساعه مضت, أبو عبدالله الحلوانى said:

جرب هذا اذا

ووافنا بالنتائج

 

تجربة.rar 589.41 kB · 0 downloads

جزاك الله كل خير أخي @أبو عبدالله الحلوانى هذا هو المطلوب ..

بقي نقطة أتمنى تكون بسيطة وهي :: 

مادة الرياضيات كمثال لها 8 شعب يدرسها معلمان .. كل واحد منهما يدرس 4 شعب .. 

( أحمد يدرس شعبة 1-2-3-4 ) هنا تم اضافة البيانات كما هو مطلوب وبنجاح .. 

و  ابراهيم يدرس الأربع الأخرى 

السؤال / كيف نستطيع عندما نحدد الشعب الخاصة بإبراهيم يضيف شعبة 5 في شيت 2 ، وشعبة 6 في شيت 4 وشعبة 7 في شيت 6 وشعبة 8 في شيت 8

** بمعنى شعبة 1 و شعبة 5 عندما يتم اختيارهم تكون بياناتهم في شيت رقم 2 .. 

وشعبة 2 و شعبة 6 عندما يتم اختيارهم تكون بياناتهم في شيت رقم 4 .. 

شعبة 3و شعبة 7 عندما يتم اختيارهم تكون بياناتهم في شيت رقم 6 .. 

شعبة 4و شعبة 8 عندما يتم اختيارهم تكون بياناتهم في شيت رقم 8 .. 

 

أتمنى أكون وصلت ما أقصد . 

شاكر لك مرة أخرى 

تم تعديل بواسطه عفرنس
رابط هذا التعليق
شارك

في ١٢‏/١٢‏/٢٠٢٠ at 14:20, عفرنس said:

جزاك الله كل خير أخي @أبو عبدالله الحلوانى هذا هو المطلوب ..

بقي نقطة أتمنى تكون بسيطة وهي :: 

مادة الرياضيات كمثال لها 8 شعب يدرسها معلمان .. كل واحد منهما يدرس 4 شعب .. 

( أحمد يدرس شعبة 1-2-3-4 ) هنا تم اضافة البيانات كما هو مطلوب وبنجاح .. 

و  ابراهيم يدرس الأربع الأخرى 

السؤال / كيف نستطيع عندما نحدد الشعب الخاصة بإبراهيم يضيف شعبة 5 في شيت 2 ، وشعبة 6 في شيت 4 وشعبة 7 في شيت 6 وشعبة 8 في شيت 8

** بمعنى شعبة 1 و شعبة 5 عندما يتم اختيارهم تكون بياناتهم في شيت رقم 2 .. 

وشعبة 2 و شعبة 6 عندما يتم اختيارهم تكون بياناتهم في شيت رقم 4 .. 

شعبة 3و شعبة 7 عندما يتم اختيارهم تكون بياناتهم في شيت رقم 6 .. 

شعبة 4و شعبة 8 عندما يتم اختيارهم تكون بياناتهم في شيت رقم 8 .. 

 

أتمنى أكون وصلت ما أقصد . 

شاكر لك مرة أخرى 

@ابوخليل لعلك تسعفنا في هذا أخي الكريم 

رابط هذا التعليق
شارك

في ١٢‏/١٢‏/٢٠٢٠ at 14:20, عفرنس said:

جزاك الله كل خير أخي @أبو عبدالله الحلوانى هذا هو المطلوب ..

بقي نقطة أتمنى تكون بسيطة وهي :: 

مادة الرياضيات كمثال لها 8 شعب يدرسها معلمان .. كل واحد منهما يدرس 4 شعب .. 

( أحمد يدرس شعبة 1-2-3-4 ) هنا تم اضافة البيانات كما هو مطلوب وبنجاح .. 

و  ابراهيم يدرس الأربع الأخرى 

السؤال / كيف نستطيع عندما نحدد الشعب الخاصة بإبراهيم يضيف شعبة 5 في شيت 2 ، وشعبة 6 في شيت 4 وشعبة 7 في شيت 6 وشعبة 8 في شيت 8

** بمعنى شعبة 1 و شعبة 5 عندما يتم اختيارهم تكون بياناتهم في شيت رقم 2 .. 

وشعبة 2 و شعبة 6 عندما يتم اختيارهم تكون بياناتهم في شيت رقم 4 .. 

شعبة 3و شعبة 7 عندما يتم اختيارهم تكون بياناتهم في شيت رقم 6 .. 

شعبة 4و شعبة 8 عندما يتم اختيارهم تكون بياناتهم في شيت رقم 8 .. 

 

أتمنى أكون وصلت ما أقصد . 

شاكر لك مرة أخرى 

@Barna 

رابط هذا التعليق
شارك

في ١٢‏/١٢‏/٢٠٢٠ at 13:20, عفرنس said:

جزاك الله كل خير أخي @أبو عبدالله الحلوانى هذا هو المطلوب ..

وجزاك الله خيرا 

في ١٢‏/١٢‏/٢٠٢٠ at 13:20, عفرنس said:

** بمعنى شعبة 1 و شعبة 5 عندما يتم اختيارهم تكون بياناتهم في شيت رقم 2 .. 

وشعبة 2 و شعبة 6 عندما يتم اختيارهم تكون بياناتهم في شيت رقم 4 .. 

شعبة 3و شعبة 7 عندما يتم اختيارهم تكون بياناتهم في شيت رقم 6 .. 

شعبة 4و شعبة 8 عندما يتم اختيارهم تكون بياناتهم في شيت رقم 8 .. 

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

رابط هذا التعليق
شارك

5 ساعات مضت, أبو عبدالله الحلوانى said:

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

صحيح .. 

بمعنى ان بيانات شعبة 1و 5 ستكون في شيت 2

وبيانات شعبة 2و 6 ستكون في شيت 4 

وبيانات شعبة 3و 7 ستكون في شيت 6 

وبيانات شعبة 4و 8 ستكون في شيت 8 

-----------

طبعا شعبة 1 2 3 4 ستكون في ملف اكسل مستقل 

وشعبة 5 6 7 8 ستكون في ملف اكسل آخر 

لان الملف الأصلي لا يحتوي الا على 8 شيتات فقط 

رابط هذا التعليق
شارك

في ١٥‏/١٢‏/٢٠٢٠ at 06:03, عفرنس said:

صحيح .. 

بمعنى ان بيانات شعبة 1و 5 ستكون في شيت 2

وبيانات شعبة 2و 6 ستكون في شيت 4 

وبيانات شعبة 3و 7 ستكون في شيت 6 

وبيانات شعبة 4و 8 ستكون في شيت 8 

-----------

طبعا شعبة 1 2 3 4 ستكون في ملف اكسل مستقل 

وشعبة 5 6 7 8 ستكون في ملف اكسل آخر 

لان الملف الأصلي لا يحتوي الا على 8 شيتات فقط 

@أبو عبدالله الحلوانى 

 

رابط هذا التعليق
شارك

في ١٥‏/١٢‏/٢٠٢٠ at 06:03, عفرنس said:

صحيح .. 

بمعنى ان بيانات شعبة 1و 5 ستكون في شيت 2

وبيانات شعبة 2و 6 ستكون في شيت 4 

وبيانات شعبة 3و 7 ستكون في شيت 6 

وبيانات شعبة 4و 8 ستكون في شيت 8 

-----------

طبعا شعبة 1 2 3 4 ستكون في ملف اكسل مستقل 

وشعبة 5 6 7 8 ستكون في ملف اكسل آخر 

لان الملف الأصلي لا يحتوي الا على 8 شيتات فقط 

أخي الفاضل @jjafferr لعلك تساعدني في هذه النقطة . أخي @أبو عبدالله الحلوانى ما قصر ساعدني في نصف الحل .. وأنا أقدر انشغاله .. 

جزاكم الله خيرا 

في ١٢‏/١٢‏/٢٠٢٠ at 12:34, أبو عبدالله الحلوانى said:

جرب هذا اذا

ووافنا بالنتائج

 

تجربة.rar 589.41 kB · 17 downloads

هذا هو المرفق للاطلاع .. @jjafferr

رابط هذا التعليق
شارك

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