PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : کمک در ماکرو کپی کردن ردیف !!!



mohebbi_md
2011/03/06, 14:11
سلام به همه ی دوستان عزیز
من یه ماکرو نوشتم که شماره ردیف رو از کاربر میگیره و اون ردیف رو در یه ردیف خالی در یه فایل دیگه کپی می کنه ولی این ماکرو مشکل داره و مشکلش اینه که فایل مورد نظر رو باز می کنه و کپی هم میکنه ولی وسط کار میپرسه که فرمولها رو هم کپی کنم یا نه !!!!! :s
میخوام اگه بشه بدون ابن که بپرسه خودش فرمول ها رو هم کپی کنه ! باید چیکار کنم ؟کدش رو در زیر گذاشتم :Sub copy()Dim intRowDestination As StringDim NameSheetDestination As StringDim intRowSource As IntegerDim Filename As StringDim destsheet As Worksheet'Destination addressFilename = "C:\Documents and Settings\mm\Desktop\prj\main.xls"Dim MyObject As Object'To get Number of Source RowintRowSource = InputBox("Enter Number of Row :", "Number of Row")'Select Source SheetSheets("task").Select'Find The Last Row in Destination Sheet ( Sheet2 )FinalRow = Cells(Rows.Count, 1).End(xlUp).Row ' Loop through each row For i = 2 To FinalRow 'Decide if to copy based on column A ThisValue = Cells(i, 1).Value 'To check Number of Row If ThisValue = intRowSource Then Cells(i, 1).Resize(1, 33).copy Workbooks.Open Filename Set destsheet = Worksheets("task") destsheet.Activate NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1 Cells(NextRow, 1).Select ActiveSheet.Paste End If Next i ActiveWorkbook.Save ActiveWorkbook.CloseEnd Sub

shamsololama
2011/03/06, 16:30
با درود فراوان
دوست خوبم ماکرو مشکلی در مورد کپی کردن فورمول نمیگیره و کارش رو انجام میده و اگر تو فایل شما چنین اروری میده باید ببینی به چه فورمولی ارور میگیره یعنی به فورمولهای که نوشتی بستگی داره ولی درکل اگر ماکرو بصورتی هست که اگر شماره ردیف رو که وارد میکنی در لیست دوبار تکرار شده باشه ارور میگیره من این ماکرو رو چک کردم و در موردکپی فورمول مشکلی نداشت.
و پیشنهاد من برای انجام چنین کاری می توانی از حلقه For Each استفاده کنی

mohebbi_md
2011/03/07, 13:28
مرسی از جوابتون ولی جناب شمس العلما ، در حال حاضر ارور زیر رو می گیره راهی برای رفعش وجود نداره ؟
a formula or sheet you want to move or copy contains the name T project which already exists on the destination worksheet . do you want to use this version of the name?

mohebbi_md
2011/03/09, 16:48
مرسی مشکل حل شد ! فقط یه سئوال دیگه می خوام همین ردیفی که کپی می کنم رو تو فایل مبدا حذفش کنم هرچی کدش رو می نویسم کار نمی کنه !!!! میشه راهنمایی کنید ! من کد زیر رو می نویسم :
Dim cell As Range, rng As Range
Set rng = Columns("A").SpecialCells(xlConstants, xlTextValues)
For i = rng.Count To 1 Step -1
ThisValue = Cells(i, 1).Value
'To check Number of Row
If ThisValue = intRowSource Then
rng(i).EntireRow.Delete
End If
Next i

shamsololama
2011/03/09, 17:26
با درود فراوان
برای اینکه به مشکل بر نخوری اول با دستور سلکت محدوده را انتخاب کن سپس آن را دلیت کن
Selection.Delete

mohebbi_md
2011/03/13, 11:08
خیلی ممنون، مشکل رو با cut حل کردم.ولی بازم ممنون از راهنماییتون :)

mohebbi_md
2011/04/07, 10:24
بازم سلام ، جناب شمس العلما
می خواستم کاری کنم که کاربر بتونه چند تا ردیف رو انتخاب کنه و به یه فایل دیگه بفرسته ! با توجه به کدی که اون بالا نوشتم چطوری می تونم اینکارو انجام بدم؟
ممنون

shamsololama
2011/04/07, 11:51
با درود فراوان
با دستور کپی هم میشه اینکار رو انجام داد و می توانید یک حلقه مثل For each هم بنویسی تا مطالب سلکت شده را به فایل مورد نظر بفرسته ولی اگر فایل بسته باشه ابتدا باید آن را باز کنید یا دستی و یا با کد

mohebbi_md
2011/04/07, 14:51
مرسی
من قبلا با سی شارپ برنامه نویسی می کردم خیلی با وبی و امکانات اکسل آشنا نیستم این کد رو هم که می بینید نوشتم از ترکیب چند تا برنامه است !!!! میشه بیشتر راهنمایی کنید ! راستش قرار تو یه فایل اکسل وظایف کارمندها نوشته بشه بعد بر اساس اسم اون کارمندا جستجو کنه و وظایف کارمند رو به فایل خود اون کارمند بفرسته ! من با کد بالا می تونم اسم کارمند رو جستجو کنم ولی تو قرار دادن حلقه برای انتقال و پیدا کردن بقیه وظایف کارمنها مشکل دارم !!!! میشه بیشتر کمک کنید
مرسییییییییییی

mohebbi_md
2011/04/08, 16:15
بالاخره تونستم با یک کمی بالا و پایین کردن کدها (در واقع بازی کردن با اونا) مشکل قبلیمو حل کنم فقط یه مشکل مونده اونم اینه که وقتی کپی می کنه میگه این سلول تو سلول مقصد هم هست میخوای دوباره کپی کنی یا با یه اسم جدید ذخیره کنی!!!
برای چی این سئوال رو می پرسه ! آخه تو فایل مقصد هیچ کدوم این سلولا نیست 1!!!!
بعد اگه بخوام درون یه سلول رو هم جستجو کنم باید چیکار کنم؟
میشه کمک کنید
(در ضمن می خواستم فایل رو اینجا ضمیمه کنم ولی گزینه ای برای اینکار پیدا نکردم!!!!)