PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : [حل شده] نحوه انتخاب یک شکل ( rectangle ) با نام سلول



alper
2018/06/23, 13:20
در یک شیت یک شکل مربع دارم با نام 1050 - حالا میخوام در ماکرو نویسی بگم در صفحه فعال نام شکلی که با نام سلول مثلاً G1 یکی هست رو انتخاب کن.

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

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

ActiveSheet.Shapes.Range(Array("G1").Value).Select

Amir Ghasemiyan
2018/06/23, 13:27
سلام دوست عزيز
كدتون يه كوچولو اشتباه بود. اصلاحش كردم



ActiveSheet.Shapes.Range(Array(Range("G1").Value)).Select

alper
2018/06/23, 13:34
ممنونم از پاسخ سریع شما
امتحان کردم اررور میده باز
این اررو

Application-defined or object-defined error

Amir Ghasemiyan
2018/06/23, 14:11
ممنونم از پاسخ سریع شما
امتحان کردم اررور میده باز
این اررو

Application-defined or object-defined error

اين كد رو كجا وارد كردين؟ خطايي كه ميده به كدوم خط هست؟
اگر فايل نمونه قرار بدين بهتر ميشه راهنمايي كرد

alper
2018/06/23, 14:35
اين كد رو كجا وارد كردين؟ خطايي كه ميده به كدوم خط هست؟
اگر فايل نمونه قرار بدين بهتر ميشه راهنمايي كرد

دقیقا توو همین کد روری همین خط اررور میده:
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
2018/06/23, 14:45
دقیقا توو همین کد روری همین خط اررور میده:
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, 15:01
بله مطمئن هستم ، اسم اون شکل 1050 هست و سلول g1 داخلش 1050 هست

alper
2018/06/23, 15:12
الانم تووی یک شیت خالی تست کردم کد جواب نمیده
16697

Amir Ghasemiyan
2018/06/23, 15:12
بله مطمئن هستم ، اسم اون شکل 1050 هست و سلول g1 داخلش 1050 هست

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


range("g1").text

Amir Ghasemiyan
2018/06/23, 15:22
بله مطمئن هستم ، اسم اون شکل 1050 هست و سلول g1 داخلش 1050 هست

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

alper
2018/06/23, 15:31
بله حل شد - ممنونم از شما که زحمت راهنمائی رو کشیدید - و همچنین سپاس از اینکه پیگیر بودید :):)