لطفا اشتباه کد فایل زیر رو بررسی کنید
هشدار خالی بودن سلول در هنگام کپی 2
Collapse
X
-
برچسب ها: هیچکدام
-
Option Explicit
Sub Copy2TOLID110()
Dim k As Integer
If WorksheetFunction.CountA(Worksheets("cal").Range(" b3:h3")) > 0 Then
k = Sheets("cal").Range("a3").Value
Worksheets("cal").Range("b3:h3").Copy
Worksheets("cal2").Cells(k, 2).PasteSpecial xlPasteValues
Else: MsgBox "no data"
End If
Worksheets("A").Select
End Sub[align=center]با تشکر
امیر محسن پور[/align] -
ممنون ولی کدی که ارسال شده با تغییر علامت مساوی به بزرگتر وقتی سلولی خالی باشه هشدار نمی ده و کپی رو انجام می دهکامنت
-
امتحان کنید...کد:[LEFT] Sub Copy2TOLID110() Dim k As Integer If WorksheetFunction.CountIf(Worksheets("cal").Range("b3:h3"), 0) = 0 Then k = Sheets("cal").Range("a3").Value Worksheets("cal").Range("b3:h3").Copy Worksheets("cal2").Cells(k, 1).PasteSpecial xlPasteValues Else: MsgBox "no data" End If Worksheets("A").Select End Sub [/LEFT]فایل های پیوست شده[SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]کامنت
-
[align=center]با تشکر
امیر محسن پور[/align]کامنت
-
البته شما درست فرمودین من تصورم این بود ک کل سلولها اگر خالی باشند اینکارو انجام بده و بنابراین پاسخ شما صحیح تر است
ممنون[align=center]با تشکر
امیر محسن پور[/align]کامنت
-
واقعا ممنون فقط یک مشکل کوچیک اینکه چرا وقتی کپی انجام می شه توی cel2 از ستون A شروع میکنه و کپی می کنه مگه ما شروع محدوده کپی رو از b ندادیمکامنت
-
Option Explicit
Sub Copy2TOLID110()
Dim k As Integer
If WorksheetFunction.CountBlank(Worksheets("cal").Ran ge("b3:h3")) = 0 Then
k = Sheets("cal").Range("a3").Value
Worksheets("cal").Range("b3:h3").Copy
Worksheets("cal2").Cells(k, 2).PasteSpecial xlPasteValues
Else: MsgBox "no data"
End If
Worksheets("A").Select
End Sub
شروع محدوده کپی B3 هستش اگه محدوده دیگری مدنظرتونه خودتون میتونین Alt+F11 رو بزنین و ادیت کنیدLast edited by Amir Mohsenpour; 2017/01/10, 08:50.[align=center]با تشکر
امیر محسن پور[/align]کامنت
-
-
منم ک همینو براتون نوشتم ...ولی موفق باشید خوشحالم ک مشکلتون حل شد
از Amir_ts عزیز هم ممنون[align=center]با تشکر
امیر محسن پور[/align]کامنت
-
من فرمول رو یکم تغییر دادم که اسم شیت رو از سلول a1 بگیره و جواب درست بود ولی وقتی مقدار k رو تغییر دادم ERROR می ده مشکل از کجاست
Sub Copy2TOLID110()
Dim x As String
Dim k As Integer
If WorksheetFunction.CountIf(Worksheets("cal").Range( "b3:h3"), 0) = 0 Then
x = Sheets("cal").Range("a2").Value
k = Count(Worksheets(x).Range("a:a"))
Worksheets("cal").Range("b3:h3").Copy
Worksheets(x).Cells(k, 2).PasteSpecial xlPasteValues
Else: MsgBox "no data"
End If
Worksheets("A").Select
End Subکامنت
-
-
فایل رو بفرستین و بگین دقیقا میخواین چیکار کنین. جواب دادن به این سوال خیلی طولانی شد.[align=center]با تشکر
امیر محسن پور[/align]کامنت
-
فایل همونه که خودتون فرستادین فقط من یکم تغییر توی کداش دادم و می خوام در نهایت به اینجا برسم که برای انجام کپی
1-اسم شیت رو از یک سلول توی Cal بگیره
2-کپی در اولین ردیف خالی شیت مورد نظر انجام بشه
3- شماره ردیف هم در اولین سلول قرار داده بشه بطوری که اگه ردیفی حذف بشه شماره ها آپدیت بشن
4- جدا از کپی در شیت مورد نظر همه اطلاعات در یک شیت جداگانه ذخیره بشن(اطلاعاتی که در شیت های مختلف ذخیره می شن تجمیع بشن توی مثلا شیت Totall)
می دونم خیلی طولانی شد ببخشید
دو مورد اول رو حل کردم
فقط مونده مورد 3
4 هم که زیاد سخت نیستLast edited by ahmada1983; 2017/01/10, 09:49.کامنت



کامنت