مشکل انتقال اطلاعات

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

    • 2013/01/24
    • 16

    مشکل انتقال اطلاعات

    دوستان سلام
    من یه سوال دارم
    اطلاعات رو میخوام از 2 ردیف یک فرم"فرم فاکتور" به یک شیت انتقال دهم بطوریکه :
    کومبوباکس 1 بره توی سول b1 بشینه
    کومبوباکس 2 بره توی سلول b2بشینه
    و الا آخر
    حالا من این کد رو نوشتم لطفا ببینید ایراد کار کجاست

    d i m I
    d i m n
    n = application.worksheetfunction.count a (sheet 3.range("a1: a100"))
    for i = 0 to2
    sheet3.range("a1").offset(n,i)=userform.combobox1
    sheet3.range("a1").offset(n,i)=userform.combobox2
    next[/align]
  • shahabsoltani

    • 2013/01/24
    • 16

    #2
    RE: مشکل انتقال اطلاعات

    یعنی واقعا کسی نمیتونه کمک کنه؟

    کامنت

    • s.cheraghi

      • 2011/02/27
      • 311

      #3
      RE: مشکل انتقال اطلاعات

      دوست عزیز نیاز به تعریف متغیر و کارهای مازاد نیست از کد زیر استفاده کنید :
      کد PHP:
      sheet1.Range("B1").Value ComboBox1.Value 
      همین کد رو برای بقیه کمبوباکس ها بنویسید
      در یادگیری سیر نشوید :idea:

      برای ارتباط بیشتر به سایت ExcelPedia سربزنید.
      برگزاری دوره های آموزش اکسل در تهران
      آموزش توابع اکسل

      کامنت

      • shahabsoltani

        • 2013/01/24
        • 16

        #4
        RE: مشکل انتقال اطلاعات

        ممنون از جوابتون
        با مثال زیر شاید بهتر منظورمو برسونم
        فرض کنید من میخوام برای 2 نفر فاکتور صادر کنم و کالاهاشون هم با هم فرق میکنه
        خب برای مشتری اولی اطلاعات(کومبوباکس ها ) فاکتور رو کامل میکنم و سپس دکمه ثبت رو میزنم تا اطلاعات ثبت بشه(یعنی همون انتقال به شیت )
        حالا همین روال رو برای مشتری دومی هم انجام میدم ولی بعد از ثبت میبینیم که
        اطلاعات مشتری دومی جایگزین اطلاعات مشتری اولی شده است
        ولی من میخوام هنگام ثبت اطلاعات مشتری دومی
        اطلاعات در همون شیت و در زیر اطلاعات مشتری اولی ثبت بشه
        ممنون از توجه و جوابتون

        کامنت

        • MEYTI

          • 2010/11/11
          • 362

          #5
          RE: مشکل انتقال اطلاعات

          دوست عزیز احتمالا با نمونه که در پست زیر گذاشتم مشکلت حل بشه
          http://forum.exceliran.com/showthread.php?tid=2952
          مهدی کریمی

          کامنت

          • shahabsoltani

            • 2013/01/24
            • 16

            #6
            RE: مشکل انتقال اطلاعات

            دستتون درد نکنه ولی فایده نداشت

            کامنت

            • s.cheraghi

              • 2011/02/27
              • 311

              #7
              RE: مشکل انتقال اطلاعات

              طبق صحبت هاتون مشکل شما در پیدا کردن مکان مناسب برای قرار دادن اطلاعات از فرم به شیت هست، دقیقتر بگم مشکل شما پیدا کردن اولین سطر خالی بعد از اطلاعات پر شده است تا اطلاعات فرم رو تو اونجا قرار بدین.
              بهتره که فایلتون رو بذارین تا بررسی کنیم ببینیم واقعا مشکل شما چی هست.
              به هر حال میتونین از تابع End که از توابع مربوط به Range هست استفاده کنین و آخرین سطر حاوی اطلاعات رو پیدا کنین.
              کد PHP:
              Sheet1.range(#).End(xlDown).Offset(1,0) 
              در یادگیری سیر نشوید :idea:

              برای ارتباط بیشتر به سایت ExcelPedia سربزنید.
              برگزاری دوره های آموزش اکسل در تهران
              آموزش توابع اکسل

              کامنت

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

                • 2013/01/17
                • 1198
                • 84.00

                #8
                RE: مشکل انتقال اطلاعات

                با درود

                کد زیر رو نگاه کن ببین مشکلت حل میشه . فقط من اینو واسه textbox نوشتم و ستون A شما برای combo های خودت بنویس و هر ستونی که خواستی

                اینو واسه یه کلید در یوزر فرم نوشتم.
                With Sheet3
                LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
                End With
                Sheet3.Range("A" & LastRow + 1).Value = TextBox1.Text
                Sheet3.Range("A" & LastRow + 2).Value = TextBox2.Text[hr]
                و اما مشکل شما
                دوست عزیز . من کد شما رو تصحیح کردم که زیر هم بیان اسامی یا هرچی فقط textbox ها رو تغییر بده به combo چون شما کمبو داشتین. نیاز به I نیست


                n = Application.WorksheetFunction.CountA(Sheet3.Range( "A:A"))

                Sheet3.Range("a1").Offset(n, 0) = TextBox1.Text
                Sheet3.Range("a1").Offset(n + 1, 0) = TextBox2.Text

                نیازی نبود بگی A1:A100 . در ضمن این برای ستون A هست .
                در پناه خداوندگار ایران زمین باشید و پیروز

                کامنت

                • ~M*E*H*D*I~
                  • 2011/10/19
                  • 4376
                  • 70.00

                  #9
                  ایراد این کار اینه که شما آخرین ردیف پر شده رو باید تشخیص بدی یک تابع باید برای این کار تعریف کنی که آخرین ردیف پر شده رو تشخیص بده ، کد های دوستان صحیح بود ولی یک سری ایراد داشت کد زیر رو به عنوان نمونه استفاده کنید البته باید پارامتر ها بر اساس فایل اصلی تغییر کنه
                  کد PHP:
                  Public Function lastrow()
                  Dim lrow As Longlcol As Longmrow As Longmcol As LongAs Integer
                  Application
                  .ScreenUpdating True

                  lcol 
                  Application.Workbooks("leave.xlsm").Sheets("personel").UsedRange.Columns.Count
                  mrow 
                  0
                    
                  For 1 To lcol
                            lrow 
                  Range(Sheet1.Cells(Rows.Counti), Sheet1.Cells(Rows.Counti)).End(xlUp).Row
                                      
                  If lrow mrow Then
                                           mrow 
                  lrow
                                      
                  Else
                                      
                  End If
                                      
                  DoEvents
                    Next i
                  lastrow 
                  mrow

                  End 
                  Function 

                  sigpic

                  کامنت

                  چند لحظه..