خواندن یک محتویات یک سلول با inputobx

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • ali66ahmadi
    • 2012/12/08
    • 2

    خواندن یک محتویات یک سلول با inputobx

    با سلام خدمت دوستان عزیزم
    من سابروتینی نوشتم که در ابتدا دوتا inputbox گذاشتم که به ترتیب مقادیر شماره سطر و ستون رو می گیره و بعد داخل کد(ActiveSheet.Cells(20, 20) = ActiveSheet.Cells(k, l قرار می دم اما از من خطا می گیره البته من این کار رو چندین بار انجام داده بودم ولی به مشکلی برخورد نکرده بود اما در اینجا خطا می ده تازه یک چیز جالب هم دیدم که نتونستم توضیحی براش بدم اون هم اینه که اگر شما دستور بنویسید که اعمال ضرب، تقسیم و یا تفریق بین دو عدد ورودی از طریق inputbox انجام بدید جواب صحیح دریافت می کنید اما وقتی از عمل جمع استفاده کنید می بینید به جای انجام این عمل دو عدد رو کنار هم می نویسه به عنوان مثال اگر k=3 و l=2 باشه به جای 5 به شما عدد 32 رو می ده.
    حالا من کد برنامه ام رو در انتها برای شما قرار می دم تا اگه تونستید لطفی به من کنید و مشکل من رو برطرف کنید.
    برای تست برنامه هم عددی مثلا در ردیف 3 و ستون 2 قرار بدید و با این کد بخواهید که در سطر و ستون 20 و 20 بنویسه.
    البته لازم به ذکر هست که این برنامه رو در 3 سیستم مختلف تست کردم و همگی همین مشکل رو داره.


    Sub read()
    Message1 = "input the row number"
    Message2 = "input the column number"
    Title = "InputBox Demo"
    k = InputBox(Message1, Title)
    l = InputBox(Message2, Title)
    a = k + l
    ActiveSheet.Cells(5, 5) = a
    ActiveSheet.Cells(10, 10) = ActiveSheet.Cells(k, l)
    End Sub
    یکی از تفاوت های انسان با خدا ، این است که، انسان تمام خوبی ها را با یک بدی فراموش می کند.

    ولی خدا تمام بدی ها را با یک خوبی فراموش می کند...
  • 1q2w3e4rr

    • 2012/11/25
    • 57

    #2
    RE: خواندن یک محتویات یک سلول با inputobx

    این کارو بکن درست میشه:


    Sub read()
    Message1 = "input the row number"
    Message2 = "input the column number"
    Title = "InputBox Demo"
    k = InputBox(Message1, Title) + 0
    l = InputBox(Message2, Title) + 0
    a = k + l
    ActiveSheet.Cells(5, 5) = a
    ActiveSheet.Cells(10, 10) = ActiveSheet.Cells(k, l)

    End Sub

    کامنت

    • ali66ahmadi
      • 2012/12/08
      • 2

      #3
      RE: خواندن یک محتویات یک سلول با inputobx

      داوود جان از شما متشکرم روشی که ارائه کردی جواب داد.
      اما من هم به گونه ای دیگه این مشکل رو حل کردم و آن تنها اضافه کردن فرمان زیر بود تنها برای دو متغییر x وy باید نوشته بشود.
      dim x,y as double
      وقتی که این رو اضافه کردم برنامه درست شد.
      یکی از تفاوت های انسان با خدا ، این است که، انسان تمام خوبی ها را با یک بدی فراموش می کند.

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

      کامنت

      • shamsololama

        • 2010/02/15
        • 940

        #4
        RE: خواندن یک محتویات یک سلول با inputobx

        با درود فراوان

        راه های که مشکل را حل کرد ه اید درست است و اما دلیل این مشکل این است که وقتی عددی را داخل اینپود باکس می نویسید برنامه آن را به عنوان متن می شناسه در نتیجه وقتی می دو عدد را به این ترتیب با هم جمع می کنید مثل این است که دو حرف ب و ت جمع کرده باشید که اگر این اعداد قبل از عمل جمع در یک ضرب شود و یا با صفر جمع شو د ویا متغییر را از نوع عدد تعیرف کنید و آن را در آن ذخیره کنید و یا از تابع اینت استفاده کنید مشکل حل می شود
        کد:
        int(i)+int(k)
        ---------------------------------------------------------------------------------------------------
        بمانیم تا کاری کنیم ،نه کاری کنیم تا بمانیم (دکتر شریعتی)
        shamsololama@yahoo.com
        09177733411

        کامنت

        Working...