PDA

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



phpa80
2010/09/17, 00:34
سلام

یک ستون دارم که مقادیر سلول ها در آن با استفاده از مقادیر ستون های دیگر محاسبه میشود.
حالا میخوام این ستون رو Sort کنم از بیشترین مقدار به کمترین مقدار.
منتها مشکلم اینه که وقتی میخوام سورت کنم چون مقادیر ستون محاسبه شده هست ، سورت نمیکنه.چکار باید بکنم ؟

ariyo
2010/09/18, 10:36
با سلام
فکر نمی کنم مشکل خاصی وجود داشته باشد.
شما می توانید حتی سطرهایی را که مقادیر آنها از طریق فرمول بدست می آیند را نیز سورت کنید.
برای اینکار ابتدا کل محدوده ی جدول داده ای تان را انتخاب نموده و سپس با استفاده از Advanced Sort اقدام به سورت کردن نمایید. اگر باز هم مشکل داشتید میتوانید فایلتان را آپلود کنید تا بررسی گردد.

خدا نگهدار

phpa80
2010/09/18, 16:01
با سلام
فکر نمی کنم مشکل خاصی وجود داشته باشد.
شما می توانید حتی سطرهایی را که مقادیر آنها از طریق فرمول بدست می آیند را نیز سورت کنید.
برای اینکار ابتدا کل محدوده ی جدول داده ای تان را انتخاب نموده و سپس با استفاده از Advanced Sort اقدام به سورت کردن نمایید. اگر باز هم مشکل داشتید میتوانید فایلتان را آپلود کنید تا بررسی گردد.

خدا نگهدار


سلام

خیر ستون محاسبه شده رو که مقادیر سلولها توسط فرمول بدست میآید را نمیشه سورت کرد و موقع سورت برا یک لحظه سورت میشه ولی چون سلولها بر اساس فرمول محاسبه میشود فوری مقادیر محاسبه شده توسط فرمول جایگزین مقادیر سورت شده میشود.
اینم یک فایل نمونه:
http://rapidshare.com/files/419777893/Book1.xlsx.html
در این فایل مقادیر سلولهای ستون C بر اساس جمع مقادیر دو ستون A و B بدست میآید.
حالا شما ستون C رو چطور سورت میکنید ؟

ariyo
2010/09/18, 16:19
با سلام
یک سئوال:
مگه شما قصد دارید بعد از سورت کردن اعداد را تغییر دهید.
شما برای درک بهتر این قضیه چند سطر را از نظر رنگ تغییر دهید. (بطور مثال رنگ Background چند سطر را تغییر دهید. البته هر سطر بایستی همرنگ باشد).
حالا یک سطر هم به عنوان عنوان به بالای جدولتان اضافه کنید.
بعد با انتخاب کل محدوده و استفاده از Advanced Sort عملیات سورت را پیاده سازی نمایید.
فکر نمی کنم دیگر مشکلی پیش بیاید.

khakzad
2010/09/18, 18:31
سلام
منم با دوست عزیز ariyo موافقم.
این که sort میشه.
اما در هر صورت، می تونید این ستون رو paste speciaal/value کنید و ستون جدید رو سورت کنید.و برای داینامیک کردنش کد اینکار رو در یک module بنویسید.که با اجرا کردن آن همه ستون رو در ستون کناریش copy/paste special/value کنه.. . . .[hr]

Sub Macro1()
'
' Macro1 Macro
'

'
Columns("C:C").Select
Selection.Copy
Columns("D:D").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

phpa80
2010/09/18, 20:49
سلام
منم با دوست عزیز ariyo موافقم.
این که sort میشه.
اما در هر صورت، می تونید این ستون رو paste speciaal/value کنید و ستون جدید رو سورت کنید.و برای داینامیک کردنش کد اینکار رو در یک module بنویسید.که با اجرا کردن آن همه ستون رو در ستون کناریش copy/paste special/value کنه.. . . .[hr]

Sub Macro1()
'
' Macro1 Macro
'

'
Columns("C:C").Select
Selection.Copy
Columns("D:D").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub



ممنون اون کدتون کار رو درست کرد:) . آیا کدی که به صورت اتوماتیک ستون کپی شده رو سورت کنه میتونید برام بنویسید ؟ البته هر کدام از این عددها مربوط به یک کاربر (نام و نام خانوادگی هست) میخوام موقع سورت کردن ستونهای متناظر رو هم سورت کنه.[hr]
راستی مضاف بر سوال فوق دستور انتخاب رنج خاصی از ستونها در VB به چه شکل هست ؟ مثلا انتخاب C4 تا C15[hr]
و میخواستم بدونم PDF فارسی آموزش VB برای اکسل موجود هست ؟

khakzad
2010/09/18, 22:58
range("a1:a14").select
این سوال دوم.
اما در مورد سوال اول.منظورتون رو خوب متوجه نشدم.سورت خودش شبیه ماکرو عمل می کنه از نظر سرعت! چرا نیاز به کد دارید؟!
سوال آخر:
vb کلا زبانی هستش که چه فارسی و چه انگلیسی،در هر دو کدها رو باید اجرا کنید تا خوب متوجه بشید.پس نگران زبانش نباشید:) خیلی تاثیر نداره. خود کدها مهم هستن. باز هم در خدمتم.
موفق باشید[hr]
راستی توی فروشگاه، آمورش vb از راه دور هست.استاد شمس العماء هستن.

phpa80
2010/09/26, 15:43
ممنون
مشکل قبلی حل شد . حالا یه کار دیگه میخوام بکنم
اگر بخوام در VBA دستوری بنویسم که مقدار محاسبه شده ی ستونهای A,B,C از شیت 1 را در سه ستون A,B,C شیت 2 ، کپی کرده و سپس تمام سطرهای ستونهای شیت 2 را بر اساس مقادیر ماکسیمم تا مینیمم ستون C مرتب کند چکار باید بکنم ؟ دستوری که باید بنویسم به چه شکل است ؟

phpa80
2010/09/27, 00:08
کدهای مربوط به کپی کردن سه ستون رو از یک شیت به شیت دیگر نوشتم.
حالا میخوام کدهای سورت رو بنویسم.
3 تا ستون دارم (AوB و C) که در ستون Aو B نام و نام خانوادگی و در ستون C امتیاز هر شخص نوشته شده.حالا میخوام این سه ستون رو بر اساس بیشترین امتیاز سورت کنم. با Custom sort بلدم ولی میخوام در VBA به صورت اتوماسیون این کار رو انجام بدم.
چه کدی باید بنویسم ؟

behrangbinesh
2010/09/27, 09:28
و میخواستم بدونم PDF فارسی آموزش VB برای اکسل موجود هست ؟

سلام
شما میتونی کاملترین نمونه آموزش فارسی برای VBA رو از این سایت بگیری
amar80.blogfa.com
آقای صمدیان
اما یه نمونه هم خودم دارم که الان برات آپلود میکنم که استفاده کنی

آموزش vba در آفیس (http://www.yourfilelink.com/get.php?fid=576287)

این نمونه کاملی نیست ولی کتاب ترجمه شده آقای صمدیان بسیار عالیه

phpa80
2010/09/27, 15:47
انجام شد. کدش رو نوشتم.