وقتی می خواهیم اندازه یک شکل خاص در اکسل را بر اساس مقدار موجود در هر سلول تغییر دهیم، می توانیم از کد VB برای انجام آن استفاده کنیم. این آموزش را بخوانید تا یاد بگیرید چگونه می توانید شکل و اندازه را به طور خودکار بر اساس مقدار سلول مشخص شده در اکسل تغییر دهید. در اینجا دو بخش خواهیم داشت: اولی تغییر یک شکل و دیگری تغییر چندین شکل در یک زمان.
تغییر خودکار شکل و اندازه بر اساس مقدار سلول مشخص شده برای یک شکل
در اینجا ما کد VBA را به شیت اضافه می کنیم تا وظیفه خود را کامل کنیم. اجازه دهید یک فرآیند ساده را ببینیم تا بفهمیم چگونه می توانیم به طور خودکار اندازه شکل را بر اساس مقدار سلول مشخص شده برای یک شکل تغییر دهیم.
مرحله 1
اجازه دهید یک برگه اکسل مشابه آنچه در تصویر زیر نشان داده شده است در نظر بگیریم.
اکنون روی نام برگه کلیک راست کرده و view code را انتخاب کنید تا برنامه VB باز شود و برنامه را مانند تصویر زیر در کادر متنی تایپ کنید.
برنامه
Private Sub Worksheet_Change(ByVal Target As Range) 'Updated BY Nirmal On Error Resume Next If Target.Row = 1 And Target.Column = 1 Then Call SizeCircle("Hollow 1", Val(Target.Value)) End If End Sub Sub SizeCircle(Name As String, Diameter) Dim xCenterX As Single Dim xCenterY As Single Dim xCircle As Shape Dim xDiameter As Single On Error GoTo ExitSub xDiameter = Diameter If xDiameter > 10 Then xDiameter = 10 If xDiameter < 1 Then xDiameter = 1 Set xCircle = ActiveSheet.Shapes(Name) With xCircle xCenterX = .Left + (.Width / 2) xCenterY = .Top + (.Height / 2) .Width = Application.CentimetersToPoints(xDiameter) .Height = Application.CentimetersToPoints(xDiameter) .Left = xCenterX - (.Width / 2) .Top = xCenterY - (.Height / 2) End With ExitSub: End Sub
نام شکل در اکسل "Hollow 1" در کد است و "row = 1" و "column = 1" نشان دهنده سلول A1 است.