سوال در مورد نکته آموزشی انتقال اطلاعات سلول های مورد در شیت به شیت دیگر کاربر محترم absorkhi

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • علی فاطمی

    • 2014/02/17
    • 523
    • 51.00

    سوال در مورد نکته آموزشی انتقال اطلاعات سلول های مورد در شیت به شیت دیگر کاربر محترم absorkhi

    با سلام و عرض تبریک برد زیبا گل پسرهای والیبال ،
    در تاپیک انتقال اطلاعات سلول های مورد در شیت به شیت دیگر

    جهت انتقال اطلاعات سلول های مورد در شیت به شیت دیگر کد زیر معرفی گردیده

    کد:
    Sub CopyMoveData()
     
    Dim ws As Worksheet
    Const sRng As String = "[COLOR=#ff0000]A5:J5[/COLOR]"
    Const dRng As String = "[COLOR=#ff0000]A6:J6[/COLOR]"
     
    Application.ScreenUpdating = False
     
    For Each ws In ActiveWorkbook.Sheets
        With ws
          .Range(dRng).Value = .Range(sRng).Value
        End With
    Next ws
     
    Application.ScreenUpdating = True
     
    End Sub
    حالا یه سوال :
    اگر بخواهیم بجای "A6:J6" یعنی محلی که می خواهیم اطلاعات کپی بشه یه رنج در یک شیت تعریف کنیم مثلاً sheets("a").range("A6:J6") ، امتحان کردم جواب نداد . اگر بخوام کاربردش رو بگم اینه که شیت مورد مثال ما در فایل قرار نداره و با یک کد توسط یک کامن باتن ساخته میشه و نمی تونیم محدوده اون شیت رو از قبل تعریف کنیم توضیح بیشتر اینکه ما یک سری شیت ثابت دارم که میشه براحتی محدوده ها رو تعریف کرد ولی وقتی کاربر می خواد اطلاعات جدیدی وارد کنه یه شیت جدید میسازه که البته نام شیت توسط یک تکست باکس مشخص میشه مثلا در هر بار a b c , ... که محدوده سل ها میشه sheets(textbox1.text).range("A6:j6") و وقتی این کد رو در کد بالا قرار میدم جواب نمی ده. لطفا راهنمایی بفرمائید.
    ممنون از توجه شما دوستان.
    Last edited by علی فاطمی; 2014/06/14, 10:24.
    [FONT=tahoma][SIZE=2][B][COLOR=#800080][SIZE=3]در دنیا فقط یک نفر وجود دارد که باید از او بهتر باشید و آن کسی نیست جز گذشته خودتان[/SIZE] [/COLOR][/B][/SIZE][/FONT]


    [CENTER][SIZE=7][FONT=franklin gothic medium][/FONT] [/SIZE]
    [/CENTER]
  • علی فاطمی

    • 2014/02/17
    • 523
    • 51.00

    #2
    با سلام
    اگر اساتید راهنمایی بفرمایند ممنون میشم.
    [FONT=tahoma][SIZE=2][B][COLOR=#800080][SIZE=3]در دنیا فقط یک نفر وجود دارد که باید از او بهتر باشید و آن کسی نیست جز گذشته خودتان[/SIZE] [/COLOR][/B][/SIZE][/FONT]


    [CENTER][SIZE=7][FONT=franklin gothic medium][/FONT] [/SIZE]
    [/CENTER]

    کامنت

    • علی فاطمی

      • 2014/02/17
      • 523
      • 51.00

      #3
      با سلام
      دوستان نظری ندارند؟؟؟؟؟؟؟؟؟؟
      [FONT=tahoma][SIZE=2][B][COLOR=#800080][SIZE=3]در دنیا فقط یک نفر وجود دارد که باید از او بهتر باشید و آن کسی نیست جز گذشته خودتان[/SIZE] [/COLOR][/B][/SIZE][/FONT]


      [CENTER][SIZE=7][FONT=franklin gothic medium][/FONT] [/SIZE]
      [/CENTER]

      کامنت

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

        • 2013/11/18
        • 1522
        • 71.67

        #4
        سلام علي آقا،
        ببينيد من کلا" اينطور مسئله را فهميدم که يک فرم در يک شيت تعريف کرده ايد و در آن يک تکست باکس است، مي خواهيد هرچي تو تکست باکس نوشتيد يک شيت به اون نام ايجاد شود و محدوده اي از صفحه جاري در فايل جديد کپي شود، اگر اينطور است کد زير را در يک کامند بوتن در فرم مورد نظر امتحان کنيد: (من فرض کرده ام که فرم را در SHEET1 قرار داده ايد و محدوده A1 تا B2 از شيت 1 مي خواهد در شيت جديد کپي شده و بعد دوباره به شيت يک برگشته و فرم بسته شود:
        کد PHP:
        Private Sub CommandButton1_Click()
        Range("A1:B2").Select
        Selection
        .Copy
        Sheets
        .Add After:=Sheets(Sheets.Count)
        ActiveSheet.Name TextBox1.Text
        Range
        ("A1:B2").Select
        ActiveSheet
        .Paste
        Sheets
        ("SHEET1").Activate
        Unload Me
        End Sub 
        Last edited by Ali Parsaei; 2014/06/14, 17:53.
        [SIGPIC][/SIGPIC]

        کامنت

        • علی فاطمی

          • 2014/02/17
          • 523
          • 51.00

          #5
          با سلام خدمت جناب پارسا
          من این عملیات رو copy و paste انجام دادم ولی کدی که آقا یا خانم آبسرخی ارائه دادن از حالت copy و paste بهتره (البته به نظر آماتوری من)و من خواستم از روش ایشون استفاده کنم که با مشکل مواجه شدم . وقتی
          بجای
          کد:
          [FONT=Tahoma]Const dRng As String = "[COLOR=#ff0000]A6:J6[/COLOR]"
          
          [/FONT]
          از این کد استفاده می کنم
          کد:
          [FONT=Tahoma]Const dRng As String =[FONT=Tahoma]sheets(textbox1.text).range("A6:j6")[/FONT][/FONT]
          ارور میده. لطفا فایل پیوست رو ملاحظه بفرمائید.
          فایل های پیوست شده
          [FONT=tahoma][SIZE=2][B][COLOR=#800080][SIZE=3]در دنیا فقط یک نفر وجود دارد که باید از او بهتر باشید و آن کسی نیست جز گذشته خودتان[/SIZE] [/COLOR][/B][/SIZE][/FONT]


          [CENTER][SIZE=7][FONT=franklin gothic medium][/FONT] [/SIZE]
          [/CENTER]

          کامنت

          • علی فاطمی

            • 2014/02/17
            • 523
            • 51.00

            #6
            با سلام و صبح بخیر
            دوستان و اساتید محترم یه نظری به این تاپیک بندازید لطفاً.
            [FONT=tahoma][SIZE=2][B][COLOR=#800080][SIZE=3]در دنیا فقط یک نفر وجود دارد که باید از او بهتر باشید و آن کسی نیست جز گذشته خودتان[/SIZE] [/COLOR][/B][/SIZE][/FONT]


            [CENTER][SIZE=7][FONT=franklin gothic medium][/FONT] [/SIZE]
            [/CENTER]

            کامنت

            • علی فاطمی

              • 2014/02/17
              • 523
              • 51.00

              #7
              با سلام
              یکی ما رو دریابه...
              [FONT=tahoma][SIZE=2][B][COLOR=#800080][SIZE=3]در دنیا فقط یک نفر وجود دارد که باید از او بهتر باشید و آن کسی نیست جز گذشته خودتان[/SIZE] [/COLOR][/B][/SIZE][/FONT]


              [CENTER][SIZE=7][FONT=franklin gothic medium][/FONT] [/SIZE]
              [/CENTER]

              کامنت

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

                • 2013/01/17
                • 1198
                • 84.00

                #8
                با درود

                این کد رو برای کامن باتن 3 فرمت بنویس

                کد:
                Private Sub CommandButton3_Click()
                Application.ScreenUpdating = False
                Sheets.Add After:=Sheets(Sheets.Count)
                Sheets(Sheets.Count).Name = TextBox1.Text
                
                
                Const sRng As String = "c5:g6"
                
                Const dRng As String = ("c5:g6")
                
                
                  With Sheets(TextBox1.Text)
                     .Range(dRng).Value = Sheet1.Range(sRng).Value
                  End With
                
                Application.ScreenUpdating = True
                Sheets(TextBox1.Text).Select
                
                
                End Sub
                بعدشم خو معلومه نباید جواب بده - یه متغییر Stringe داری و بعد تو رنج اونج.ری ایراد میگیره - در ضمن حلقه For گذاشتی که چی بشه - شیت مبدا و مقصد ت معلوم نیست یعنی کد هات کلا اشتباهه - اونی که میبینی درست عمل میکرده خو ماله یه شیت بوده و برای همین تو With فقط یه شیت برسی شد - در کل کد ها رو با خودت مقایسه کن میفهمی ایراد کجاست - حلق هم نمیخواد گلم - در ضمن رنج هاتو هم هر جا خواستی بزار من تستی گذاشتم
                در پناه خداوندگار ایران زمین باشید و پیروز

                کامنت

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

                  • 2013/01/17
                  • 1198
                  • 84.00

                  #9
                  در ضمن یادم رفت یه کدیم بزار که چک کنه اگر اون شیت که میخواد ایجاد بشه بود دیگه ایجاد نکنه - و ارور نده -
                  در پناه خداوندگار ایران زمین باشید و پیروز

                  کامنت

                  • علی فاطمی

                    • 2014/02/17
                    • 523
                    • 51.00

                    #10
                    با سلام و تشکر
                    مثل همیشه عالیییییییییییییییییییییییییییییییی
                    [FONT=tahoma][SIZE=2][B][COLOR=#800080][SIZE=3]در دنیا فقط یک نفر وجود دارد که باید از او بهتر باشید و آن کسی نیست جز گذشته خودتان[/SIZE] [/COLOR][/B][/SIZE][/FONT]


                    [CENTER][SIZE=7][FONT=franklin gothic medium][/FONT] [/SIZE]
                    [/CENTER]

                    کامنت

                    چند لحظه..