ثبت اطلاعات فرم ، در شیت اختصاصی

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

    • 2015/01/09
    • 73
    • 56.00

    پرسش ثبت اطلاعات فرم ، در شیت اختصاصی

    طبق فایل ضمیمه ، من یک فرم ساده ورود اطلاعات درست کردم که اطلاعات وارد شده در فرم پس از کلیک بر روی دکمه ثبت اطلاعات در شیت Data ثبت میشه
    حالا دو تا سوال :

    1- چطور میشه به جای اینکه اطلاعات در شیت Data ثبت بشه در شیت اختصاصی هر نفر که شماره ردیف اون نفر هم هست ثبت بشه ؟ یعنی اگر شماره ردیف 1 در فرم انتخاب شد ؛ نتایج فرم در شیت شماره 1 و اگر مثلا ردیف 4 در فرم ثبت اطلاعات انتخاب شد، نتایج فرم؛ در شیت 4 ثبت بشه؟

    2- یه مشکل کوچیک هم هست اینه که چطور میشه سلول های خالی در شیت نهایی خالی بمونند؟ چون الان در فرم اطلاعات اگر در اون سلول چیزی وارد نشه در هنگام ثبت نهایی در شیت Data عدد صفر وارد میشه که نمیخوام اینجوری باشه
    فایل های پیوست شده
  • hasa2

    • 2015/01/09
    • 73
    • 56.00

    #2
    مورد دوم رو حل کردم
    فقط همچنان نتونستم مشکل اول رو حل کنم
    ایده ای ندارید دوستان ؟

    کامنت

    • iranweld

      • 2015/03/29
      • 3341

      #3
      با سلام


      کدهای ذیل را تست کنید

      کد PHP:
      Sub sabte_etelaat()

         
         
      Sheets(Range("c3")).Cells(Sheet1.Rows.Count"A").End(xlUp).Row 1

         Sheets
      ("فرم ورود اطلاعات").Range("I2:Q2").Copy
         
         Sheets
      (Range("c3")).Cells(x1).PasteSpecial xlPasteValues
         
         Range
      ("C3:C11").ClearContents
         
          Range
      ("C3").Select
          
      End Sub 

      کامنت

      • hasa2

        • 2015/01/09
        • 73
        • 56.00

        #4
        ممنونم
        فقط یه مشکل داره ... با این کدی که شما فرمودید شماره شیت اون چیزی نیست که باید باشه
        یعنی الان اگه مثلا تو C3 عدد 1 وارد بشه نتیجه اش تو شیت «1» نمیشینه
        بلکه نتیجه اش میاد تو اولین شیت موجود از سمت راست میشینه یعنی شیت Data

        3 تا راه حل برای حل این مشکل به ذهن ناقص بنده رسید :

        1- اسامی شیت ها رو از تو VBA عوض کنم و ترتیب رو اونجا درست کنم که گفتم اینجوری شاید بر اساس ترتیب نام گذاری شیت در VBA بشماره ولی این انتفاق نیوفتاد و همچنان بر اساس ترتیب چیدن شیت ها در محیط اکسل کار میکنه

        2- شیت های تو اکسل رو ترتیبشون رو جا به جا کنم یعنی اول شیت های 1 تا 5 باشه و بعد شیت «فرم ورود اطلاعات» . این راه حل جواب داد اما یه جورایی پاک کردن صورت مسئله بود و از طرفی یکی دو تا شیت دیگه دارم تو فایل اصلی که اونا حتما باید اول باشن و نمیتونم جا به جاشون کنم

        3- راه حل سوم هم این به ذهنم رسید که حالا که این کد میاد شیت رو از ابتدا میشماره یه عددی رو جمع کنیم تو فرمول با اون عدد سلول C3 (کلک رشتی)
        یعنی اگه تو C3 عدد 1 ثبت شد ؛ فرمول بیاد عدد وارد شده رو +3 کنه که نتیجه اش بشه 4 ؛ که چهار دقیقا چهارمین شیت مون میشه که اسم شیت 1 هست.
        ایون هرکاری کردم بتونم فرمول رو اینجوری تعریف کنم خطا داد.

        کامنت

        چند لحظه..