نحوه انتخاب یک شکل ( rectangle ) با نام سلول

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • alper

    • 2018/06/23
    • 10

    [حل شده] نحوه انتخاب یک شکل ( rectangle ) با نام سلول

    در یک شیت یک شکل مربع دارم با نام 1050 - حالا میخوام در ماکرو نویسی بگم در صفحه فعال نام شکلی که با نام سلول مثلاً G1 یکی هست رو انتخاب کن.

    ممنون میشم راهنمائیم کنید

    در ضمن من این کد رو مینویسیم اررور میده:

    ActiveSheet.Shapes.Range(Array("G1").Value).Select
  • Amir Ghasemiyan

    • 2013/09/20
    • 4598
    • 100.00

    #2
    سلام دوست عزيز
    كدتون يه كوچولو اشتباه بود. اصلاحش كردم

    کد:
    ActiveSheet.Shapes.Range(Array(Range("G1").Value)).Select

    کامنت

    • alper

      • 2018/06/23
      • 10

      #3
      ممنونم از پاسخ سریع شما
      امتحان کردم اررور میده باز
      این اررو

      Application-defined or object-defined error

      کامنت

      • Amir Ghasemiyan

        • 2013/09/20
        • 4598
        • 100.00

        #4
        نوشته اصلی توسط alper
        ممنونم از پاسخ سریع شما
        امتحان کردم اررور میده باز
        این اررو

        Application-defined or object-defined error
        اين كد رو كجا وارد كردين؟ خطايي كه ميده به كدوم خط هست؟
        اگر فايل نمونه قرار بدين بهتر ميشه راهنمايي كرد

        کامنت

        • alper

          • 2018/06/23
          • 10

          #5
          نوشته اصلی توسط Amir Ghasemiyan
          اين كد رو كجا وارد كردين؟ خطايي كه ميده به كدوم خط هست؟
          اگر فايل نمونه قرار بدين بهتر ميشه راهنمايي كرد
          دقیقا توو همین کد روری همین خط اررور میده:
          ActiveSheet.Shapes.Range(Array(Range("G1").Value)) .Select

          کد من اینه:

          کد:
          Sub Macro3()' Macro3 Macro
          '
          
          
          '
          i = 315
          For i = 315 To 316
          
          
          
          
              Sheets("Card").Select
              Sheets("temp").Select
              ActiveSheet.Shapes.Range(Array("SamplePic")).Select
              Selection.Copy
              Sheets("Card").Select
              Range("E2:F7").Select
              ActiveSheet.Paste
              
              
              Range("N5").Select
              ActiveCell.Formula = Worksheets("Personnel").Range("b" & i).Value
              
              Sheets("Events").Select
              Range("N1").Select
              ActiveCell.Formula = Worksheets("Card").Range("N5").Value
              
              ActiveSheet.Range("$A$1:$L$4").AutoFilter Field:=2, Criteria1:=Worksheets("Events").Range("N1").Value
              
              Sheets("Card").Select
              
              Range("N6").Select
              ActiveCell.Formula = Worksheets("Personnel").Range("u" & i).Value
              Range("F10:G10").Select
              ActiveCell.Formula = Worksheets("Personnel").Range("c" & i).Value
              Range("I10:J10").Select
              ActiveCell.Formula = Worksheets("Personnel").Range("d" & i).Value
              Range("L10:M10").Select
              ActiveCell.Formula = Worksheets("Personnel").Range("k" & i).Value
              Range("F12:G12").Select
              ActiveCell.Formula = Worksheets("Personnel").Range("f" & i).Value
              Range("J12").Select
              ActiveCell.Formula = Worksheets("Personnel").Range("r" & i).Value
              Range("L12").Select
              ActiveCell.Formula = Worksheets("Personnel").Range("m" & i).Value
              Range("N12").Select
              ActiveCell.Formula = Worksheets("Personnel").Range("q" & i).Value
              Range("F14").Select
              ActiveCell.Formula = Worksheets("Personnel").Range("o" & i).Value
              Range("I14:N14").Select
              ActiveCell.Formula = Worksheets("Personnel").Range("ag" & i).Value
              
              'Events History Print Starts from here
             
              Sheets("Events").Select
              Rows("1:36").Select
              Selection.Copy
              Sheets("temp").Select
              Cells.Select
              ActiveSheet.Paste
             
              'Section1
              
             Sheets("Card").Select
             
              Range("F18").Select
              ActiveCell.Formula = Worksheets("temp").Range("E2").Value
              
              Range("G18").Select
              ActiveCell.Formula = Worksheets("temp").Range("F2").Value
              
                  Range("H18").Select
              ActiveCell.Formula = Worksheets("temp").Range("G2").Value
              
                  Range("I18:J18").Select
              ActiveCell.Formula = Worksheets("temp").Range("H2").Value
              
                  Range("K18").Select
              ActiveCell.Formula = Worksheets("temp").Range("I2").Value
              
                  Range("L18").Select
              ActiveCell.Formula = Worksheets("temp").Range("J2").Value
              
                  Range("M18").Select
              ActiveCell.Formula = Worksheets("temp").Range("K2").Value
                  
                  Range("N18").Select
              ActiveCell.Formula = Worksheets("temp").Range("L2").Value
              
              'Section 2
              
                  Range("F19").Select
              ActiveCell.Formula = Worksheets("temp").Range("E3").Value
              
              Range("G19").Select
              ActiveCell.Formula = Worksheets("temp").Range("F3").Value
              
                  Range("H19").Select
              ActiveCell.Formula = Worksheets("temp").Range("G3").Value
              
                  Range("I19:J19").Select
              ActiveCell.Formula = Worksheets("temp").Range("H3").Value
              
                  Range("K19").Select
              ActiveCell.Formula = Worksheets("temp").Range("I3").Value
              
                  Range("L19").Select
              ActiveCell.Formula = Worksheets("temp").Range("J3").Value
              
                  Range("M19").Select
              ActiveCell.Formula = Worksheets("temp").Range("K3").Value
                  
                  Range("N19").Select
              ActiveCell.Formula = Worksheets("temp").Range("L3").Value
              
              
              'section 3
              
                      Range("F20").Select
              ActiveCell.Formula = Worksheets("temp").Range("E4").Value
              
              Range("G20").Select
              ActiveCell.Formula = Worksheets("temp").Range("F4").Value
              
                  Range("H20").Select
              ActiveCell.Formula = Worksheets("temp").Range("G4").Value
              
                  Range("I20:J20").Select
              ActiveCell.Formula = Worksheets("temp").Range("H4").Value
              
                  Range("K20").Select
              ActiveCell.Formula = Worksheets("temp").Range("I4").Value
              
                  Range("L20").Select
              ActiveCell.Formula = Worksheets("temp").Range("J4").Value
              
                  Range("M20").Select
              ActiveCell.Formula = Worksheets("temp").Range("K4").Value
                  
                  Range("N20").Select
              ActiveCell.Formula = Worksheets("temp").Range("L4").Value
          
          
          
          
          'section 4
          
          
                     Range("F21").Select
              ActiveCell.Formula = Worksheets("temp").Range("E5").Value
              
              Range("G21").Select
              ActiveCell.Formula = Worksheets("temp").Range("F5").Value
              
                  Range("H21").Select
              ActiveCell.Formula = Worksheets("temp").Range("G5").Value
              
                  Range("I21:J21").Select
              ActiveCell.Formula = Worksheets("temp").Range("H5").Value
              
                  Range("K21").Select
              ActiveCell.Formula = Worksheets("temp").Range("I5").Value
              
                  Range("L21").Select
              ActiveCell.Formula = Worksheets("temp").Range("J5").Value
              
                  Range("M21").Select
              ActiveCell.Formula = Worksheets("temp").Range("K5").Value
                  
                  Range("N21").Select
              ActiveCell.Formula = Worksheets("temp").Range("L5").Value
          
          
              
              'Date az Ta
              
              Sheets("Date").Select
              Range("G1").Select
              ActiveCell.Formula = Worksheets("Card").Range("N5").Value
              Range("G2").Select
              ActiveSheet.Range("$A$1:$G$383").AutoFilter Field:=3, Criteria1:=Worksheets("Date").Range("G1").Value
              Range("A1:G383").Select
              Range("G2").Activate
              Selection.Copy
              Sheets("temp").Select
              Cells.Select
              ActiveSheet.Paste
              Sheets("Card").Select
             
              Range("M47").Select
              Application.CutCopyMode = False
              ActiveCell.Formula = Worksheets("temp").Range("E2").Value
              Range("N47").Select
              ActiveCell.Formula = Worksheets("temp").Range("F2").Value
              Range("N48").Select
              
              'Change Pic
             
              Sheets("Card").Select
              Range("N5").Select
              Selection.Copy
              Sheets("Pic").Select
              Range("G1").Select
              ActiveSheet.Paste
              ActiveSheet.Shapes.Range(Array(Range("G1").Value)).Select
              Application.CutCopyMode = False
              Selection.Copy
              Sheets("Card").Select
              ActiveSheet.Shapes.Range(Array("SamplePic")).Select
              Selection.Delete
              Range("E2:F8").Select
              ActiveSheet.Paste
              Range("D8").Select
              
              
              Range("I15").Select
              
              Worksheets("Card").PrintOut
              
              ActiveSheet.Shapes.Range(Array("1050")).Select
              Selection.Delete
          
          
              Next i
          End Sub

          کامنت

          • Amir Ghasemiyan

            • 2013/09/20
            • 4598
            • 100.00

            #6
            نوشته اصلی توسط alper
            دقیقا توو همین کد روری همین خط اررور میده:
            Activesheet.shapes.range(array(range("g1").value)) .select

            کد من اینه:

            کد:
            sub macro3()' macro3 macro
            '
            
            
            '
            i = 315
            for i = 315 to 316
            
            
            
            
                sheets("card").select
                sheets("temp").select
                activesheet.shapes.range(array("samplepic")).select
                selection.copy
                sheets("card").select
                range("e2:f7").select
                activesheet.paste
                
                
                range("n5").select
                activecell.formula = worksheets("personnel").range("b" & i).value
                
                sheets("events").select
                range("n1").select
                activecell.formula = worksheets("card").range("n5").value
                
                activesheet.range("$a$1:$l$4").autofilter field:=2, criteria1:=worksheets("events").range("n1").value
                
                sheets("card").select
                
                range("n6").select
                activecell.formula = worksheets("personnel").range("u" & i).value
                range("f10:g10").select
                activecell.formula = worksheets("personnel").range("c" & i).value
                range("i10:j10").select
                activecell.formula = worksheets("personnel").range("d" & i).value
                range("l10:m10").select
                activecell.formula = worksheets("personnel").range("k" & i).value
                range("f12:g12").select
                activecell.formula = worksheets("personnel").range("f" & i).value
                range("j12").select
                activecell.formula = worksheets("personnel").range("r" & i).value
                range("l12").select
                activecell.formula = worksheets("personnel").range("m" & i).value
                range("n12").select
                activecell.formula = worksheets("personnel").range("q" & i).value
                range("f14").select
                activecell.formula = worksheets("personnel").range("o" & i).value
                range("i14:n14").select
                activecell.formula = worksheets("personnel").range("ag" & i).value
                
                'events history print starts from here
               
                sheets("events").select
                rows("1:36").select
                selection.copy
                sheets("temp").select
                cells.select
                activesheet.paste
               
                'section1
                
               sheets("card").select
               
                range("f18").select
                activecell.formula = worksheets("temp").range("e2").value
                
                range("g18").select
                activecell.formula = worksheets("temp").range("f2").value
                
                    range("h18").select
                activecell.formula = worksheets("temp").range("g2").value
                
                    range("i18:j18").select
                activecell.formula = worksheets("temp").range("h2").value
                
                    range("k18").select
                activecell.formula = worksheets("temp").range("i2").value
                
                    range("l18").select
                activecell.formula = worksheets("temp").range("j2").value
                
                    range("m18").select
                activecell.formula = worksheets("temp").range("k2").value
                    
                    range("n18").select
                activecell.formula = worksheets("temp").range("l2").value
                
                'section 2
                
                    range("f19").select
                activecell.formula = worksheets("temp").range("e3").value
                
                range("g19").select
                activecell.formula = worksheets("temp").range("f3").value
                
                    range("h19").select
                activecell.formula = worksheets("temp").range("g3").value
                
                    range("i19:j19").select
                activecell.formula = worksheets("temp").range("h3").value
                
                    range("k19").select
                activecell.formula = worksheets("temp").range("i3").value
                
                    range("l19").select
                activecell.formula = worksheets("temp").range("j3").value
                
                    range("m19").select
                activecell.formula = worksheets("temp").range("k3").value
                    
                    range("n19").select
                activecell.formula = worksheets("temp").range("l3").value
                
                
                'section 3
                
                        range("f20").select
                activecell.formula = worksheets("temp").range("e4").value
                
                range("g20").select
                activecell.formula = worksheets("temp").range("f4").value
                
                    range("h20").select
                activecell.formula = worksheets("temp").range("g4").value
                
                    range("i20:j20").select
                activecell.formula = worksheets("temp").range("h4").value
                
                    range("k20").select
                activecell.formula = worksheets("temp").range("i4").value
                
                    range("l20").select
                activecell.formula = worksheets("temp").range("j4").value
                
                    range("m20").select
                activecell.formula = worksheets("temp").range("k4").value
                    
                    range("n20").select
                activecell.formula = worksheets("temp").range("l4").value
            
            
            
            
            'section 4
            
            
                       range("f21").select
                activecell.formula = worksheets("temp").range("e5").value
                
                range("g21").select
                activecell.formula = worksheets("temp").range("f5").value
                
                    range("h21").select
                activecell.formula = worksheets("temp").range("g5").value
                
                    range("i21:j21").select
                activecell.formula = worksheets("temp").range("h5").value
                
                    range("k21").select
                activecell.formula = worksheets("temp").range("i5").value
                
                    range("l21").select
                activecell.formula = worksheets("temp").range("j5").value
                
                    range("m21").select
                activecell.formula = worksheets("temp").range("k5").value
                    
                    range("n21").select
                activecell.formula = worksheets("temp").range("l5").value
            
            
                
                'date az ta
                
                sheets("date").select
                range("g1").select
                activecell.formula = worksheets("card").range("n5").value
                range("g2").select
                activesheet.range("$a$1:$g$383").autofilter field:=3, criteria1:=worksheets("date").range("g1").value
                range("a1:g383").select
                range("g2").activate
                selection.copy
                sheets("temp").select
                cells.select
                activesheet.paste
                sheets("card").select
               
                range("m47").select
                application.cutcopymode = false
                activecell.formula = worksheets("temp").range("e2").value
                range("n47").select
                activecell.formula = worksheets("temp").range("f2").value
                range("n48").select
                
                'change pic
               
                sheets("card").select
                range("n5").select
                selection.copy
                sheets("pic").select
                range("g1").select
                activesheet.paste
                activesheet.shapes.range(array(range("g1").value)).select
                application.cutcopymode = false
                selection.copy
                sheets("card").select
                activesheet.shapes.range(array("samplepic")).select
                selection.delete
                range("e2:f8").select
                activesheet.paste
                range("d8").select
                
                
                range("i15").select
                
                worksheets("card").printout
                
                activesheet.shapes.range(array("1050")).select
                selection.delete
            
            
                next i
            end sub
            مطمئن هستيد اسمي كه در سلول g1 وارد ميكنيد شكلي با اون نام در اون شيت داريد؟

            کامنت

            • alper

              • 2018/06/23
              • 10

              #7
              بله مطمئن هستم ، اسم اون شکل 1050 هست و سلول g1 داخلش 1050 هست

              کامنت

              • alper

                • 2018/06/23
                • 10

                #8
                الانم تووی یک شیت خالی تست کردم کد جواب نمیده
                Click image for larger version

Name:	Capture.PNG
Views:	1
Size:	53.4 کیلو بایت
ID:	134030

                کامنت

                • Amir Ghasemiyan

                  • 2013/09/20
                  • 4598
                  • 100.00

                  #9
                  نوشته اصلی توسط alper
                  بله مطمئن هستم ، اسم اون شکل 1050 هست و سلول g1 داخلش 1050 هست

                  بجاي value از text استفاده كنيد. نتيجه رو لطفا همينجا اعلام فرماييد

                  کد:
                  range("g1").text

                  کامنت

                  • Amir Ghasemiyan

                    • 2013/09/20
                    • 4598
                    • 100.00

                    #10
                    نوشته اصلی توسط alper
                    بله مطمئن هستم ، اسم اون شکل 1050 هست و سلول g1 داخلش 1050 هست
                    از اونجايي كه عدد داخل سلول فرمت عددي داره اما اسم شكل فرمت متني داره اين خطا بوجود مياد
                    دو تا راه داره. يكي اينكه فرمت سلول رو متني كنيد و يكي هم اينكه بجاي value از text استفاده كنيد

                    کامنت

                    • alper

                      • 2018/06/23
                      • 10

                      #11
                      بله حل شد - ممنونم از شما که زحمت راهنمائی رو کشیدید - و همچنین سپاس از اینکه پیگیر بودید

                      کامنت

                      چند لحظه..