حرکت با اینتر در یک جدول

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • master

    • 2010/07/18
    • 118

    حرکت با اینتر در یک جدول

    سلام
    حرکت توی یه جدول رو باید چطوری تنظیم کرد؟
    توی خود تنظیمات اکسل 2010 میشه تنظیم کرد بعد از زدن enter مکان نما به سمت چپ و راست و بالا و پایین بره
    حالا من میخوام توی یه جدول از ستون یک بره دو و بعد بره سطر بعدی دوباره ستون یک و بعد دو و ....
    چطوری میشه اینو تنظیم کرد؟
    حالا اگه جدول یک یا چند ستون داشته باشه که بخواهیم توی حرکت در نظر نگیره باید چیکار کرد؟
    اصلا اینجام اینکار حتما نیازمند جدول هست؟مثلا نمیشه دو یا سه ستون رو تعریف کنیم و با زدن اینتر حرکت افقی انجام بشه و بعد که رسید اخر کار بره سطر بعدی
    با تشکر
  • mohamadali110

    • 2014/03/17
    • 151
    • 70.00

    #2
    يه مطلب آموزشي يادمه تو هزار و يك شب اكسل در اين مورد بووود كه متاسفانه الان حضور ذهن ندارم
    تازه اونم جوري بووود كه حركت با tab صورت ميگرفت

    کامنت

    • generalsamad
      مدير تالار توابع

      • 2014/06/22
      • 1496

      #3
      با سلام
      ابتدا سطر اول ستون اول جدولتون رو انتخاب کنید
      سپس کلید Shift رو نگه داشته و ستون آخر ردیف اول را کلید کنید و بعد shift رو رها کرده
      بعد ctrl رو گرفته و ردیف دوم ستون اول رو کلیک کرده و با عمل درگ تا انتهای همان سطر رو انتخاب کنید
      برای سطرهای 3 به بعد همین کار رو انجام بدید در آخر ctrl رو رها کنید
      بعد برای قسمتهای انتخاب شده از قسمت define name یک نام برای قسمت انتخابی نوشته
      بعد از این میتونید جدولتون رو پر کنید

      فایل ضمیمه شد
      فایل های پیوست شده
      [CENTER]
      [SIGPIC][/SIGPIC]
      [/CENTER]

      کامنت

      • abootorab

        • 2014/10/17
        • 351

        #4
        نوشته اصلی توسط master
        سلام
        حرکت توی یه جدول رو باید چطوری تنظیم کرد؟
        توی خود تنظیمات اکسل 2010 میشه تنظیم کرد بعد از زدن enter مکان نما به سمت چپ و راست و بالا و پایین بره
        حالا من میخوام توی یه جدول از ستون یک بره دو و بعد بره سطر بعدی دوباره ستون یک و بعد دو و ....
        چطوری میشه اینو تنظیم کرد؟
        حالا اگه جدول یک یا چند ستون داشته باشه که بخواهیم توی حرکت در نظر نگیره باید چیکار کرد؟
        اصلا اینجام اینکار حتما نیازمند جدول هست؟مثلا نمیشه دو یا سه ستون رو تعریف کنیم و با زدن اینتر حرکت افقی انجام بشه و بعد که رسید اخر کار بره سطر بعدی
        با تشکر
        با درود
        دوست عزیز به نظر بنده بهترین راه استفاده از vb و اجرای یک ماکرو میباشد.
        کد های زیر به عنوان مثال نوشتم که شما میتونید طبق خواسته هاتون اون رو اصلاح کنید.
        کد PHP:
        Private Sub Workbook_Open()
            
        Application.OnKey "~""EnterPressKey"
        End Sub 
        کد PHP:
        Sub EnterPressKey()
            
        Select Case Selection.Address
                
        Case "$A$1"
                    
        Sheet1.Range("$C$5").Select
                
        Case "$C$5"
                    
        Sheet1.Range("$D$2").Select
                
        Case "$D$2"
                    
        Sheet1.Range("$A$1").Select
            End Select
        End Sub 
        این نکته عرض کنم که واسه اجرای صحیح کدها ابتدا فایل مورد نظر را ذخیره کنید و خارج بشین و مجدد فایل رو باز کنید.
        Last edited by abootorab; 2015/03/15, 16:42.

        کامنت

        • master

          • 2010/07/18
          • 118

          #5
          نوشته اصلی توسط generalsamad
          با سلام
          ابتدا سطر اول ستون اول جدولتون رو انتخاب کنید
          سپس کلید Shift رو نگه داشته و ستون آخر ردیف اول را کلید کنید و بعد shift رو رها کرده
          بعد ctrl رو گرفته و ردیف دوم ستون اول رو کلیک کرده و با عمل درگ تا انتهای همان سطر رو انتخاب کنید
          برای سطرهای 3 به بعد همین کار رو انجام بدید در آخر ctrl رو رها کنید
          بعد برای قسمتهای انتخاب شده از قسمت define name یک نام برای قسمت انتخابی نوشته
          بعد از این میتونید جدولتون رو پر کنید

          فایل ضمیمه شد
          سلام مشکل این روش این هست که وقتی روی یه خونه کلیک کنی دیگه جوب نمیده باید همیشه کل اون منطقه در حالت انتخاب باشه
          حداقل برا من اینجوری بود فایل شما رو که باز میکردم همه اون قیمت ابی هست(در حالت انتخاب) و اینتر درست کار میکنه ولی روی یکی از خونه با موس کلیک کنم همه چیز بهم میخوره



          نوشته اصلی توسط abootorab
          با درود
          دوست عزیز به نظر بنده بهترین راه استفاده از vb و اجرای یک ماکرو میباشد.
          کد های زیر به عنوان مثال نوشتم که شما میتونید طبق خواسته هاتون اون رو اصلاح کنید.
          کد PHP:
          Private Sub Workbook_Open()
              
          Application.OnKey "~""EnterPressKey"
          End Sub 
          کد PHP:
          Sub EnterPressKey()
              
          Select Case Selection.Address
                  
          Case "$A$1"
                      
          Sheet1.Range("$C$5").Select
                  
          Case "$C$5"
                      
          Sheet1.Range("$D$2").Select
                  
          Case "$D$2"
                      
          Sheet1.Range("$A$1").Select
              End Select
          End Sub 
          این نکته عرض کنم که واسه اجرای صحیح کدها ابتدا فایل مورد نظر را ذخیره کنید و خارج بشین و مجدد فایل رو باز کنید.
          من کد نویسم خوب نیست نمیدونم اینو دقیقا کجا وارد کنم و اینکه دو قسمت هست چطوری وارد کنم
          اگه میشه نمونه فایل بزارید
          ضمنا میشه کد ها رو به این شکل تغییر داد:
          بعد از زدن اینتر چک کنه اگه خونه a1 هست بره b1 اگه b1 هست بره c1 و اگه c1 بره a2 اگر توی هیچ کدوم از این خونه ها نیست همون عملکرد معمولی اینتر اتفاق بیافته (مثلا اگه تنظیم شده روی up هست بره سلول بالایی
          منتها میخوام قسمت عددی خونه ها بالا یه متغییر باشن فرض کنید ه یه متغییر عددی هست
          کد اینجوری بشه:
          اگه خونه ai هست بره bi اگه bi هست بره ci و اگه ci بره a(i+1)
          ایا میشه اینو پیاده سازی کرد؟ البته نیاز هم نیست حتما متغیر i رو چک کنه میتونه چک کنه اگه توی خونه ای توی ستون a هست (مثلا a200) بره خونه متناظرش توی ستون b یعنی b200 و.....
          فقط میخوام روی i هم کنترل باشه مثلا از a50 تا a200 کار کنه بعدش دیگه کد کار نکنه
          با تشکر

          کامنت

          • generalsamad
            مدير تالار توابع

            • 2014/06/22
            • 1496

            #6
            با سلام
            آره اگه کلیک کنید با این روش نمیشه
            ولی میشه با enter به سلول مورد نظر رفته و شروع به وارد کردن اطلاعات کنید
            توجه داشته باشید که باید همه سلولها جدول نامگذاری در حالت انتخاب باشه

            در مورد اینکه خواسته شما با vba حل بشه بهتره البته نظر من اینه چون تو vba دستتون بازه و وقت کمتری صرف این کار میکنید و روشی که من گفتم برای یک جدول بزرگ وقت گیر هست ولی با vba وقت کمتری میگیره.
            Last edited by generalsamad; 2015/03/15, 23:43.
            [CENTER]
            [SIGPIC][/SIGPIC]
            [/CENTER]

            کامنت

            • abootorab

              • 2014/10/17
              • 351

              #7
              نوشته اصلی توسط master
              سلام مشکل این روش این هست که وقتی روی یه خونه کلیک کنی دیگه جوب نمیده باید همیشه کل اون منطقه در حالت انتخاب باشه
              حداقل برا من اینجوری بود فایل شما رو که باز میکردم همه اون قیمت ابی هست(در حالت انتخاب) و اینتر درست کار میکنه ولی روی یکی از خونه با موس کلیک کنم همه چیز بهم میخوره





              من کد نویسم خوب نیست نمیدونم اینو دقیقا کجا وارد کنم و اینکه دو قسمت هست چطوری وارد کنم
              اگه میشه نمونه فایل بزارید
              ضمنا میشه کد ها رو به این شکل تغییر داد:
              بعد از زدن اینتر چک کنه اگه خونه a1 هست بره b1 اگه b1 هست بره c1 و اگه c1 بره a2 اگر توی هیچ کدوم از این خونه ها نیست همون عملکرد معمولی اینتر اتفاق بیافته (مثلا اگه تنظیم شده روی up هست بره سلول بالایی
              منتها میخوام قسمت عددی خونه ها بالا یه متغییر باشن فرض کنید ه یه متغییر عددی هست
              کد اینجوری بشه:
              اگه خونه ai هست بره bi اگه bi هست بره ci و اگه ci بره a(i+1)
              ایا میشه اینو پیاده سازی کرد؟ البته نیاز هم نیست حتما متغیر i رو چک کنه میتونه چک کنه اگه توی خونه ای توی ستون a هست (مثلا a200) بره خونه متناظرش توی ستون b یعنی b200 و.....
              فقط میخوام روی i هم کنترل باشه مثلا از a50 تا a200 کار کنه بعدش دیگه کد کار نکنه
              با تشکر
              درود مجدد
              دوست عزیز بنده یک فایل نمونه واستون ضمیمه کردم که امیدوارم منظورتون همین باشه، اما شما واسه ادامه کار باید با vb آشنایی داشته باشین تا بتونید تغییرات مورد نظرتون رو در فایل اصلی خود اعمال کنید.
              فایل های پیوست شده

              کامنت

              • master

                • 2010/07/18
                • 118

                #8
                سلام
                ضمن تشکر فایل نمونه برا من کار نکرد
                وارد اون رنج مشخص شده هم شدم ولی بازم فقط پاییت میرفت
                ماکرو هم فعال هست فایل رو هم یه بار باز و بسته کردم
                ضمنا میشه بگید این دو تا خط مد چیکار میکنن:
                Application.OnKey "~", "EnterPressKey"
                و
                Application.OnKey "~"
                با تشکر

                =============
                حل شد من اینتر قسمت numeric keypad رو میزدم وقتی با اینتر اصلی تست شد کار میکرد
                سرچ هم کردم برا اینتر قسمت numeric keypad باید کد رو به این شکل تغییر بدم:
                Application.OnKey "{ENTER}", "EnterPressKey"
                با تشکر
                Last edited by master; 2015/03/16, 11:56.

                کامنت

                چند لحظه..