اذهب الي المحتوي
أوفيسنا

تنسيق رقم داخل دائرة


إذهب إلى أفضل إجابة Solved by lionheart,

الردود الموصى بها

السلام عليكم

هذا الملف به كود لعمل دوائر على ارقام في جدول قد عدلت انت عليه وقد استفدت منه كثيرا ... لكني وجدت الارقام داخل الدائرة تنسيقها جهة اليمين واعلى كما بالصورة ... والمطلوب تنسيقها وسط الدائرة

k1.jpg.e295e551da2c0c7ffc41a255de59cd0c.jpg

بالتعديل على الكود بالملف المرفق

circle (2).xlsm

ولك جزيل الشكر

رابط هذا التعليق
شارك

  • أفضل إجابة

Try this

Option Explicit

Sub Add_Circles()
    Dim ws As Worksheet, myRng As Range, c As Range, v As Shape, col As Long
    Application.ScreenUpdating = False
        Set ws = ActiveSheet
        Set myRng = ws.Range("F3:N13")
        myRng.RowHeight = 35: myRng.ColumnWidth = 10
        Call Remove_Circles
        For Each c In myRng.Cells
            col = c.Column
            If c.Value < ws.Cells(2, col) Or c.Value = Chr(219) Then
                Set v = ws.Shapes.AddShape(msoShapeOval, c.Left + 15, c.Top + 2, 30, 30)
                With v
                    With .Fill
                        .Visible = msoTrue
                        .ForeColor.RGB = RGB(166, 166, 166)
                    End With
                    With .TextFrame2
                        .TextRange.ParagraphFormat.Alignment = msoAlignCenter
                        With .TextRange.Font
                            .Fill.ForeColor.RGB = RGB(0, 0, 0)
                            .Size = c.Font.Size
                            .Bold = c.Font.Bold
                            .Name = c.Font.Name
                        End With
                        .WordWrap = msoFalse
                    End With
                    With .TextFrame
                        .Characters.Text = c.Value
                        .MarginRight = 4
                        .MarginTop = 2
                        .MarginLeft = 4
                        .MarginBottom = 2
                    End With
                End With
            End If
        Next c
    Application.ScreenUpdating = True
End Sub

Sub Remove_Circles()
    Dim shp As Shape
    For Each shp In ActiveSheet.Shapes
        If shp.AutoShapeType = msoShapeOval Then shp.Delete
    Next shp
End Sub

 

  • Like 3
رابط هذا التعليق
شارك

شكرا على الاهتمام  ...

الارقام فعلا ظهرت في منتصف الدائرة . لكنها ليست في وضع توسيط كما بالصورة

k2.jpg.5cad3852077c456499f361c9f2cd426b.jpg

فانا اريدها كذلك

k3.jpg.5febc4009840263ee2e1eb28976c438a.jpg

ولك الشكر

رابط هذا التعليق
شارك

شكرا اخيي على الاهتمام  ...

 

لكن للاسف فعلت المطلوب ولم اتوصل لحل

k3.jpg.5febc4009840263ee2e1eb28976c438a.jpg .

اريد كود لوضع الرقم داخل الدائرة في وضع التوسيط

 

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information