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

تشغيل كود/ ماكرو خاص بالإكسل من برنامج الأكسس


Hamdi Edlbi-khalf
إذهب إلى أفضل إجابة Solved by jjafferr,

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

السلام عليكم

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

هذا السطر كان يعطي خطأ

 Xl.Worksheets("sheet3").Range("a1:a"&Xl.Worksheets("sheet3").cells(rows.count,1).end(xlup).row)

حتى أستبدل به نطاقاً ثابتاً كالكود التالي:

Xl.Worksheets("sheet3").Range("a1:a10")

بينما لو وضعت الماكرو في ملف الإكسل وشغلته من قاعدة الأكسس فإنه يعمل بأي الصورتين كان.

هل من طريقة لاستخدام الكود الآتي في برنامج أكسس للتحكم بإكسل. 

cells(rows.count,1).end(xlup).row

 

 الكود لمعرفة السطر الأخير  غير الفارغ في ورقة إكسل 

 بارك الله بكم

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

  • أفضل إجابة

وعليكم السلام اخوي خلف 🙂

من زمان ما سمعنا منك ، ان شاء الله تكون في صحة وعافية 🙂

 

من اللي قرأته ، ومن تجربة سابقة ، مو كل الاوامر متاحة للتحكم في الاكسل من الاكسس ، اذا استعملت :

Dim xlApp As Object

فيجب ان لا تستعمل هذه الطريقة ، وانما بدلا عنها ، تستخدم المكتبة :

Microsoft Excel x.xx object Library

 

ولكن ، هناك دائما اوامر وطرق اخرى للوصول الى مبتغاك ، والمشكلة عندك في الجزء الاخير من السطر end(xlup).row

لذا انصحك تبحث في الانترنت عن هذه الجزئية فقط ، وايجاد البديل 🙂


جعفر

 

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

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

شكراً لكم أستاذي الكريم، على كلماتك وطيبة معاملتك وجودك بما تعرف، ورزقك الله فوق ما تشتهي وتتمنى في الدنيا وفي الآخرة.

معلومة جديدة وهامة عن هذه الطريقة، أما بالنسبة المكتبات فمن الوقت الذي تعرفت به  المكتبات واستخدامها، أتجنبها  قدر المستطاع نظراً لما يترتب عليها من تعطل البرنامج عند فقدانها أوتغير الإصدار.

وطالما أن هذا هو الحال سأحاول تطبيق الطرق الأخرى في إكسل لإيجاد آخر الصفوف ذات البيانات.

 

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

السلام عليكم

شكراً لتوجيهكم أستاذي الكريم @jjafferr

هذا هو الكود كما وجدته بحاجة إلى تعريف متغير لقيمة  Xlup  -  Xldown

Private Sub Command0_Click()

Const xlup As Long = -4162
Const xldown As Long = -4121
' في حالة هذا الكود ما نحتاجه الثابت الثاني


 Dim XL As Object
 Dim z As Long

     Set XL = CreateObject("Excel.Application")

   '   With XL
  XL.Visible = True
     XL.displayalerts = False
         XL.Workbooks.Open CurrentProject.Path & "\Book1.xlsx"
              XL.worksheets("sheet3").Activate

z = XL.worksheets("sheet1").range("a1").End(xldown).Row

XL.worksheets("sheet2").range("a1:a" & z) = "???"


'    .ActiveWorkbook.Close (True)
'    .Quit
'    End With
    Set XL = Nothing

End Sub

 

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

 

بارك الله بك.

 بسبب توجيهكم تمكنت من إيجاد الحل.

أما إذا كنت تقصد الحديث عن المكتبات فأنا أتجنب اللجوء إليها فقد تعرض العمل ذات مرة -بسبب إضافة مكتبة غير موجودة على جهاز المستخدم - إلى توقف  البرنامج، وعند إضافتها آلياً إلى المراجع فكانت النتيجة الحاجة إلى إصلاح الأوفيس -في حال كانت مفقودة أو تالفة-.

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

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

السلام عليكم ورحمه الله وبركاته

جزاك الله خيرا اخى واستاذى @jjafferr

اخى الفاضل @Khalf

وانا ابحث عن موضوعات لتعلم DAO وجدت هذا الموضوع Import or Export Data from Access to Excel  فى طريقى فتذكرت موضوعك هذا فاحببت ان اشارككم اياه للاستفاده ولعلك تجد به شىء يساعدك فيما تبحث عنه

تقبلوا تحياتى وتمنياتى لكم وللجميع بالتوفيق

طبتم واهتديتم

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

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