برای من سخت برای شما راحت !!!!

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • امين اسماعيلي
    مدير تالار ويژوال بيسيك

    • 2013/01/17
    • 1198
    • 84.00

    #16
    با درود
    و اما برای زمانی که مثلا یک سل تغییر کند و یه ماکرو اجرا بشه من تو سه حالت یه نمونه کوچیک براتون گذاشتم. سه تا شیت رو برسی کن. شیت اول نتیجه فرمول تو سل مشکی تغییر میکنه و شیت دوم و سوم خود سل ها تغییر میکنن
    فایل های پیوست شده
    در پناه خداوندگار ایران زمین باشید و پیروز

    کامنت

    • Ali Parsaei
      مدير تالارتوابع اکسل

      • 2013/11/18
      • 1522
      • 71.67

      #17
      نوشته اصلی توسط ایران
      دوست خوبم در صفحه قبل به اندازه دو ورقه امتحانی سوالمو توضیح دادم !!!!!!!!!!!!!!!!
      اینم بگم به چند نفر به طور خصوصی پیام دادم تو همین تالار که از مدیران و کاربران تراز بالا بودن ولی فقط یک نفر محبت کرد جواب داد !!!
      فقط یک نفر
      اینم بگم هیچ توقعی هم از هیچ کس ندارم و تو این محیط داریم به هم کمک میکنیم و این بسیار عالیه
      ولی جدا از جواب دادن و کمک علمی و بالا بردن سطح سواد تخصصی فرهنگ مداری در جوامع مجازی هم بد نیست
      نمیگم خدایی نکرده کسی بی فرهنگه
      نه اصلا"
      ولی بهتر نبود همون دوستان با یه جمله خیلی کوتاه یا حتی یه شکل جواب میدادن !!!
      من نمیخوام خودمرو معرفی کنم ولی به شخصه صاححب چند سایت و مشاور چندین تالار و مدیر ارشد چند تالار بوده و هستم که هر کدومشون در تخصص خودشون سرآمدن
      هر کسی تو این پروژه منو کمک کنه در قبالش مشاوره سرمایه گذاری در بورس تهران و فارکس خواهم داد
      سلام دوست عزيز،
      آقاي اسماعيلي درست مي فرمايند، معمولا" سوالات طولاني و بزرگ در انجمن کمتر جواب داده مي شود، من هم سوال شما را خواندم، ولي خيلي زياد بود!، يک کاربر مي تواند وقت بگذارد و سوال شما را پاسخ دهد و يا مي تواند همان وقت را صرف پاسخ به سوال چندين نفر کند، خوب شما بوديد کدام را انتخاب مي کرديد؟
      ضمن اينکه به نظر من سوالات طولاني ناخود آگاه اين ذهنيت را در ذهن بقيه بوجود مي آورد که سوال کننده (بلا نسبت شما) همه کار را مي خواهد به دوش ديگران بياندازد و خودش هيچ کاري نکند!.
      البته سوال کنندگان اغلب چنين قصدي ندارند، ما هم مي دانيم، ولي همانطور که گفتم ناخودآگاه و ناخواسته همچين چيزي به ذهن خطور مي کند و ممکن است باعث شود در جواب دادن سرد عمل کنند.
      اين مختص شما نيست، حتي مديران هم اگر به اندازه دو صفحه امتحاني سوال کنند ديرتر به جواب مي رسند، شما بقيه موارد در همين چند روز در انجمن را بررسي نماييد ببينيد سرعت پاسخ گويي و رسيدن به جواب در آنها چگونه بوده و سرعت پاسخ گويي به سوال شما چگونه بوده.
      غرض از توضيحات فوق اين بود که احيانا" از دست ما دلخور نگرديد،
      مطمئن باشيد ما هم وقتي چند ساعت پشت کامپيوتر وقت مي گذاريم دلمان مي خواهد کاربران به پاسخ سوالاتشان برسند تا ما هم خستگي مان از تن به در رود.
      موفق باشيد.
      [SIGPIC][/SIGPIC]

      کامنت

      • ایران

        • 2014/11/12
        • 13

        #18
        نوشته اصلی توسط امين اسماعيلي
        با درود
        و اما برای زمانی که مثلا یک سل تغییر کند و یه ماکرو اجرا بشه من تو سه حالت یه نمونه کوچیک براتون گذاشتم. سه تا شیت رو برسی کن. شیت اول نتیجه فرمول تو سل مشکی تغییر میکنه و شیت دوم و سوم خود سل ها تغییر میکنن
        بسیار بسیار ممنون
        دوست خوبم در کتابهای بسیار مقدماتی هم این مطلب شما کاملا" صریح توضیح داده شده و اصلا نیازی به کد نویسی نیست !!

        من این پروژه رو 70% تکمیل کردم ، ادعایی ندارم ولی در سطح خودش به نظر در سطح بالایی قرار داره
        هر چند بنده بیسواد هستم
        هرچند تنها با یک هفته مطالعه اکسل فقط و فقط برای کمک به دوستم این پروژه رو انجام دادم و فکر نمیکردم اینقدر حرفه ایی بشه

        بدترین قسمت این پروژه به صورت یک مثال در پست اول توضیح دادم
        ولی این سیستم به قدری پیچیده هست که من احساس میکنم هیچی نمیدونم از اکسل !!! هیچی

        دوستان من در سال 1372 برنامه نویسی خوندم یعنی 21 سال پیش
        اون زمان Qbasic بود و هنوز ویژوالی در کار نبود
        در طراحی سایت هم از php استفاده میکنم که هیچ سنخیتی با vbs یا ماکرو ... نداره

        از طرفی من میخوام اونچیزی رو که میخوام ارائه بدم خودم بفهمم و منتقل کنم

        اگر ممکن باشه ماکرو رو بزارید کنار و با همین توابع کمک کنید بسیار برای من بیسواد بهتره

        وقت یادگرفتن ویژوال رو در حال حاضر ندارم تا هم یاد بگیرم و هم به کار بگیرم


        الان سه روزه رو این پروژه کار نکردم

        ولی 10 روز به مدت 16 ساعت فقط و فقط رو این بخش کار کردم ولی اصلا و اصلا یک قدم هم نتونستم جلو برم !!!

        به قدری این مسئله پیچیده هست که نمیتونم توضیح کامل بدم

        فقط شما محبت کنید مرحله به مرحله من پروژه رو تمام کنم تا به هدف برسم

        اگر من بخوام توضیح بدم از 100 صفحه هم بیشتر میشه


        این پروژه در نگاه اول یک برنامه حسابداری هست ولی وقتی واردش میشیم میبینیم خیلی پیچیده شده !!!


        بنابراین سوالاتمو یکی یکی می پرسم
        و شاید مابین هر سوال فاص بیفته و موکول بشه برای روز بعد

        چون با هر قدم من میبایستی کلی کد رو بنویسم و کلی شیت کم و زیاد کنم
        کدهایی که اکثرا تکراری نیستند !!!

        سوال اول:
        من از چه دستوری استفاده کنم تا نتیجه بدست آمده در یک سلول اتومات به سلولی در دیگر شیت ارسال بشه

        توجه بفرمایی که من برای 1000 نفر محاسباتی رو باید حلقه ایی تکرار کنم
        تا نتیجه اصلاحات در حساب هر کاربر اعمال بشه
        بنابراین نمیتونم بنویسم فلان سل مساول جمع یا ضرب یا ... دو سل یا چندین سل !!!

        یه چیزی میخوام که وقتی در سلول a جوابی بدست آمد این جواب به سلول x در شیت بعدی بره و در اونجا یکسری عملیات انجام بشه و بعد از اتمام عملیات مجدد برگرده شیت قبلی عملیاتی انجام بده که نتیجش در سلول a نماش و مجدد منتقل به سلول x در شیت دوم بشه

        این عمل بارها تکرارخواهد شد

        کامنت

        • امين اسماعيلي
          مدير تالار ويژوال بيسيك

          • 2013/01/17
          • 1198
          • 84.00

          #19
          با درود

          . اول من فکر کردم شما یه سری محاسبات داری انجام میدی و وقتی یه جواب خاص توی یه سل بوجود اومد میخوای خودکار یه سری کد ها اجرا بشن . والا همچین ساده هم نبود . کد بله یه مسیج باکس بود ولی شما هر چیزی رو میتونی اونجا تو کد ها بنویسی.والا تا اونجایی که ذهن بنده یاری میکنه بهترین راه برای کار شما کد نویسی هستش و کپی کردن یه جورایی کار توابع نیست مگر اینکه از قبل بریم و قبل از هر اقدامی شیت مقصد رو فرمول نویسی کنیم یعنی یه جورایی قبل از هر عملی . والا تا الان یاد ندارم تابعی تونسته باشه کار کپی رو انجام بده یعنی نتیجشو بره یه جا دیگه کپی کنه مگر بری تو سل مقصد بنویس مساوی سل ابتدا و اینو بهش بگی کپی. ولی در کل چون ذهنیتی از کارتون نیست من بنا بر داشته خودم کد رو بهترین راه میبینم .
          در پناه خداوندگار ایران زمین باشید و پیروز

          کامنت

          • ایران

            • 2014/11/12
            • 13

            #20
            نوشته اصلی توسط امين اسماعيلي
            با درود

            . اول من فکر کردم شما یه سری محاسبات داری انجام میدی و وقتی یه جواب خاص توی یه سل بوجود اومد میخوای خودکار یه سری کد ها اجرا بشن . والا همچین ساده هم نبود . کد بله یه مسیج باکس بود ولی شما هر چیزی رو میتونی اونجا تو کد ها بنویسی.والا تا اونجایی که ذهن بنده یاری میکنه بهترین راه برای کار شما کد نویسی هستش و کپی کردن یه جورایی کار توابع نیست مگر اینکه از قبل بریم و قبل از هر اقدامی شیت مقصد رو فرمول نویسی کنیم یعنی یه جورایی قبل از هر عملی . والا تا الان یاد ندارم تابعی تونسته باشه کار کپی رو انجام بده یعنی نتیجشو بره یه جا دیگه کپی کنه مگر بری تو سل مقصد بنویس مساوی سل ابتدا و اینو بهش بگی کپی. ولی در کل چون ذهنیتی از کارتون نیست من بنا بر داشته خودم کد رو بهترین راه میبینم .
            درود برشما

            ممنون میشم اگر زحمت همچین کدی که میفرمایید رو بکشید تا من تست کنم

            کامنت

            • امين اسماعيلي
              مدير تالار ويژوال بيسيك

              • 2013/01/17
              • 1198
              • 84.00

              #21
              با درود
              اگر اتومات بخوای و نخوای مثلا یک کلید تو صفحه داشته باشی و اونو فشار بدی و بعد کل محاسبه انجام بشه باید تو ایونت Change بنویسی . همون نمونه های ساده بالا رو در نظر بگیر ببین مثل سل ها دستی تغییر میکنن یا فرمولی هسان اول . و اما کد سوال اول به راحتی فرضا میخوای سل یا سل های رو از شیت 1 ببری به شیت 2

              راه اول
              کد:
              Sheet2.Range("A1").Value = Sheet1.Range("A7")
              راه دوم

              کد:
              Sheet1.Range("A7").Copy Destination:=Sheet2.Range("A1")
              راه سوم
              کد:
              Sheet1.Range("A7").Copy
                  
                  Sheet2.Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                      :=False, Transpose:=False
                  Application.CutCopyMode = False
              حالو این کد ها رو جای همون مسیج باکس و بنا به خواستت تغییربده. اول از همه سعی . ببین میتونی اینا رو محدوده ای هم بکار ببری که دستت راه بیفته بعدش سعی کن یه کلید رو صفحه ایجاد کنی و با فشردن این عمل کپی انجام بشه بعدش برو سراغ همون کد های بالا که نتیجه فرمول بود
              در پناه خداوندگار ایران زمین باشید و پیروز

              کامنت

              • ایران

                • 2014/11/12
                • 13

                #22
                نوشته اصلی توسط امين اسماعيلي
                با درود
                اگر اتومات بخوای و نخوای مثلا یک کلید تو صفحه داشته باشی و اونو فشار بدی و بعد کل محاسبه انجام بشه باید تو ایونت Change بنویسی . همون نمونه های ساده بالا رو در نظر بگیر ببین مثل سل ها دستی تغییر میکنن یا فرمولی هسان اول . و اما کد سوال اول به راحتی فرضا میخوای سل یا سل های رو از شیت 1 ببری به شیت 2

                راه اول
                کد:
                Sheet2.Range("A1").Value = Sheet1.Range("A7")
                راه دوم

                کد:
                Sheet1.Range("A7").Copy Destination:=Sheet2.Range("A1")
                راه سوم
                کد:
                Sheet1.Range("A7").Copy
                    
                    Sheet2.Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                        :=False, Transpose:=False
                    Application.CutCopyMode = False
                حالو این کد ها رو جای همون مسیج باکس و بنا به خواستت تغییربده. اول از همه سعی . ببین میتونی اینا رو محدوده ای هم بکار ببری که دستت راه بیفته بعدش سعی کن یه کلید رو صفحه ایجاد کنی و با فشردن این عمل کپی انجام بشه بعدش برو سراغ همون کد های بالا که نتیجه فرمول بود
                درود بر شما

                ممنون جالب بود و خیلی کمک میکنه فعلا باهمین فرمول کلی کارا پیش میره با همین کدهای شما چند روز مشغول میشم و هرجا به مشکلی خوردم مجدد اینجا مطرح و از شما کمک خواهم خواست


                مجدد عرض میکنم هرشخصی درباره مشاوره سرمایه گذاری در بورس و فارکس مشورت بخواد در خدمتم
                صد البته رایگان و ویژه

                خصوصا دوستانی که تو حل این پروژه راهنمایی میکنند

                همچنین هرشخص درباره سوالات ساخت و ساز چه طراحی ، چه اجرا چه نظارت چه مقاوم سازی و بهسازی و سوالات معماری و ضوابط شهرسازی سوال داشته باشه مطرح کنه جواب خواهم داد

                اگر خصوصی سوال کنید نظم این تالار بهم نمیخوره

                ارادتمندم

                کامنت

                • ایران

                  • 2014/11/12
                  • 13

                  #23
                  یه سوال بهترین و سریع ترین راهی که بتونم تو ویژوال گلیم خودمو ازآب بیرون بکشم چیه؟

                  وقتم خیلی خیلی کمه و فعلا در حد کار راه بندازی مایلم یاد بگیرم تا به وقتش حرفه ای تر ادامه بدم

                  کامنت

                  • امين اسماعيلي
                    مدير تالار ويژوال بيسيك

                    • 2013/01/17
                    • 1198
                    • 84.00

                    #24
                    با درود
                    خودتون جواب خودتون دادین استاد عزیز . جواب وقته . من افتخار شاگردی استاد شمس رو تو پروژه مایع سازی گاز ایران داشتم و کار اکسلمو با فرمول indexو ترکیبش با ,match شروع کردم. بعدشم عاشق اکسل شدمو مشکلات کاربرارو سعی میکردم حل کنم و هر روز یه چیز جدید و جدید تر. هنوزم راه درازی در پیش دارم. اما خودت که واردت تر از امثال من هستی برنامه نویسی یعنی تمرین و هیچ کس از رو منبع به تنهایی نمیتونه همه چیو فرا بگیره . به نظرم رو همین کاری که داری انجام میدی چون پروژه مانند هستش خیلی چیز میتونی یاد بگیری.
                    در پناه خداوندگار ایران زمین باشید و پیروز

                    کامنت

                    • ایران

                      • 2014/11/12
                      • 13

                      #25
                      نوشته اصلی توسط امين اسماعيلي
                      با درود
                      اگر اتومات بخوای و نخوای مثلا یک کلید تو صفحه داشته باشی و اونو فشار بدی و بعد کل محاسبه انجام بشه باید تو ایونت change بنویسی . همون نمونه های ساده بالا رو در نظر بگیر ببین مثل سل ها دستی تغییر میکنن یا فرمولی هسان اول . و اما کد سوال اول به راحتی فرضا میخوای سل یا سل های رو از شیت 1 ببری به شیت 2

                      راه اول
                      کد:
                      sheet2.range("a1").value = sheet1.range("a7")
                      راه دوم

                      کد:
                      sheet1.range("a7").copy destination:=sheet2.range("a1")
                      راه سوم
                      کد:
                      sheet1.range("a7").copy
                          
                          sheet2.range("a1").pastespecial paste:=xlpastevalues, operation:=xlnone, skipblanks _
                              :=false, transpose:=false
                          application.cutcopymode = false
                      حالو این کد ها رو جای همون مسیج باکس و بنا به خواستت تغییربده. اول از همه سعی . ببین میتونی اینا رو محدوده ای هم بکار ببری که دستت راه بیفته بعدش سعی کن یه کلید رو صفحه ایجاد کنی و با فشردن این عمل کپی انجام بشه بعدش برو سراغ همون کد های بالا که نتیجه فرمول بود

                      با سلام و درود مجدد

                      حالا ما اگر بخواهیم به یک سل در شیت دوم دستور بدیم که بره از ردیف 1 تا ردیف 1000 رو ببینه و یکی یکی اون اعداد رو به ترتیبی که ما میخواهیم ورداره ببره تو یه سلول خاص تو شیت دوم چه کار باید کنیم؟

                      هدف من:

                      من میخوام تو یک لیست هزارتایی برای هر معامله گر یک کد تعریف کنم ( در شیت اول ) هر شخصی یک کد داره که با اون کد روزی یک تا n معامله ممکنه انجام بده ، ما میخواهیم شماره هر شخص رو به ترتیب از شیت اول ورداره ببره تو به سلول خاص ( منحصر به فرد مثلا" a$1$ در شیت دوم)

                      من در شیت دوم دستوراتی رو نوشتم که متناسب با کدی که در سلول منحصر به فرد a$1$ ( در شیت دوم) نشون داده میشه عملیاتی انجام بده و در نهایت بگه اون شخص چقدر بدهکار یا بستانکار میشه

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

                      این عمل اتوماتیک و برای 1000 نفر میبایستی انجام بشه


                      ارادتمندم

                      کامنت

                      • امين اسماعيلي
                        مدير تالار ويژوال بيسيك

                        • 2013/01/17
                        • 1198
                        • 84.00

                        #26
                        با درود

                        هر چند نگرفتم به سل دستور دادن که نداریم که...... ولی خب یه حلقه منویسی مثلا

                        کد:
                        dim c as range
                        for each c in sheet1.range("A1:A100")
                        sheet2.range("A1").value=c.value
                        next c
                        تا اینجا قبل ما اودیم گفتیم به ازای هر مقدار که تو ستون A هستش بیاد بره تو شیت 2 سل A1 . حالا اگر میخوای قبل از رفتن به نفر بعدی یه سری کارای دیگه انجام بشه باید قبل از Next c کد هایی رو که میخوای مانند کپی یا هر چیزی رو بزاری. امیدوارم درست متوجه شده باشم
                        در پناه خداوندگار ایران زمین باشید و پیروز

                        کامنت

                        چند لحظه..