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

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

قام بنشر (معدل)

بسم الله الرحمن الرحيم

لدي برنامج مصمم على الاكسيل مكون من عدة مصنفات قمت بانشاء ماكرو للرجوع الى صفحة البداية او الانتقال من مصنف الى اخر وذلك على النحو الاتي :

Sub mahal()

Workbooks.Open Filename:="\ALLOVERS\MAHAL.xls"

Range("A1").Select

End Sub

السؤال ان هذا الماكرو لا يعمل معي الا اذا كتبته على هذا النحو

Sub mahal()

Workbooks.Open Filename:="D:\ALLOVERS\MAHAL.xls"

Range("A1").Select

End Sub

وتواجهني المشكلة في اني اكون مرتبط بمكان محدد اي اذا نقلت المجلد الى مكان اخر لا يعمل معي

فهل من طريقة اقوم بعملها بحيث اتمكن من التقل بين المصنفات بغض النظر عن مكان المجلد .

ولكم مني جزيل الشكر

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

اخى استخدم هذه الصيغة

   

Sub mahal()
MyFileName = "MAHAL"
MyPath = ActiveWorkbook.Path
MyFullName = MyPath & "\" & MyFileName & ".xls"
Workbooks.Open Filename:=MyFullName
Range("A1").Select
End Sub

تحياتى

قام بنشر

مرحبا استاذي العزيز

سؤال لو سمحت

كيف طيب لو بدي ما يفتح الملف الا من جهازي

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

مع الشكر الجزيل

قام بنشر

الاستاذ تامر جزاك الله كل خير

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

قام بنشر

الاستاذ تامر جزاك الله كل خير

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

لدي ملف اكسل يتم عمل import لبيانات من txt له واريد بنفي الفكرة دوما يبحث عن ملف النص في نفس الفولدر مرفق كود الجلب واجريت محاولة لتعديلة بالكود بتاعك وفشلت نرجوا التكرم بالتعديل

قبل التعديل

Sheets("sheet1").Select

Cells.Select

Selection.ClearContents

Selection.QueryTable.Delete

With ActiveSheet.QueryTables.Add(Connection:="TEXT;d:\ozontrnprint.csv", _

Destination:=Range("A1"))

.Name = "ozontrnprint"

بعد محاولة التعديل الفاشلة

Sheets("sheet1").Select

Cells.Select

Selection.ClearContents

Selection.QueryTable.Delete

myfilename = "ozontrnprint"

mypath = ActiveWorkbook.Path

myfullname = mypath & "\" & myfilename & ".csv"

Workbooks.Open Filename:=myfullname

With ActiveSheet.QueryTables.Add(Connection:="TEXT;myfullname", _

قام بنشر

الاخ gamalin

الكود المضاف عبارة عن 3 سطور

MyFileName = "MAHAL"
نضع اسم الملف بدون النهاية الخاصة به فى المتغير (MyFileName)
MyPath = ActiveWorkbook.Path
نضع مسار الملف الحالى فى المتغير (MyPath )
MyFullName = MyPath & "\" & MyFileName & ".xls"
فى المتغير (MyFullName ) نقوم يتجهيز اسم الملف ومساره بالكامل ليتم التعامل معه السطر الرابع نقوم بأستبدال اسم الملف ونهايتة بالمتغير (MyFullName ) الذى يحتوى على مسار واسم الملف بالكامل بالنسبة للكود الخاص بك هل انت بخيل الكود غير كامل ورغم انى لم اتعامل مع الامر (QueryTables) ولا اعرف كيف يعمل جرب هذه الصيغة واخبرنى بالنتيجة
Sub test()

Sheets("sheet1").Select
'
MyFileName = "ozontrnprint"
MyPath = ActiveWorkbook.Path
MyFullName = MyPath & "\" & MyFileName & ".csv"
'
Cells.Select
Selection.ClearContents
Selection.QueryTable.Delete

With ActiveSheet.QueryTables.Add(Connection:="TEXT;MyFullName", _
    Destination:=Range("A1"))
    .Name = "ozontrnprint"
End With

End Sub

ملحوظة اخى gamalin :

بخوص نقل وترحيل البيانات المحدثة والتى اعتقد انه لم يتم التوصل الى حل لها

اذا تم عمل مثال غير ناقص اى ملف كامل يمكننى التصرف حيال ترحيل البيانات المحدثه بفكرة مجنونة اذا اردت

يمكن وضع المثال فى مشاركة خاصة تحت عنوان مناسب للموضوع

قام بنشر

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

اما بخصوص البانات المحدث حاولت كثيرا ادارج ملفات ولكن غالبا حجمها بيكون اكبر من ال50كيلوا الخصصة

اما عن الكود الكامل هو

Sub importdata()

'

' importdata Macro

' Macro recorded 14/10/2006 by mohd_g

'

'

Sheets("sheet1").Select

Cells.Select

Selection.ClearContents

Selection.QueryTable.Delete

With ActiveSheet.QueryTables.Add(Connection:="TEXT;d:\ozontrnprint.csv", _

Destination:=Range("A1"))

.Name = "ozontrnprint"

.FieldNames = True

.RowNumbers = False

.FillAdjacentFormulas = False

.PreserveFormatting = True

.RefreshOnFileOpen = False

.RefreshStyle = xlInsertDeleteCells

.SavePassword = False

.SaveData = True

.AdjustColumnWidth = True

.RefreshPeriod = 0

.TextFilePromptOnRefresh = False

.TextFilePlatform = 1256

.TextFileStartRow = 1

.TextFileParseType = xlDelimited

.TextFileTextQualifier = xlTextQualifierDoubleQuote

.TextFileConsecutiveDelimiter = False

.TextFileTabDelimiter = False

.TextFileSemicolonDelimiter = False

.TextFileCommaDelimiter = False

.TextFileSpaceDelimiter = False

.TextFileOtherDelimiter = """"

.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _

1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 _

, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)

.TextFileTrailingMinusNumbers = True

.Refresh BackgroundQuery:=False

End With

End Sub

وسوف بعون ارفق ملف بهذا الامر واشكرك كثيرا لتفاعلك والله لو توصلنا لها لحلت لي مشاكل عظيمة لاني عامل ارتباطات بين الاكسل والعديد من البرامج كلها تعتمد على هذا الارتباط

قام بنشر

بسم الله ماشاء الله

يعني والله مش عارف اقول لك ايه ربنا يبارك لك ويبارك فيك وينفعك وينفع بعلمك

واشكرك لتواصلك واهتمامك يعمل وبفاءة عالية جدا

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