جستجو

ترفندهای کامپیوتری

حضرت علی (ع): «زَکوةُ العِلمِ نَشرُهُ؛ زکات علم نشر آن است».
وبلاگ "ترفندها" (سایت پی‌سی‌ترفند) برای عمل به این حدیث شریف و با هدف ارتقاء دانش و مهارت‌های مرتبط با رایانه در ۳۰ مهرماه ۱۳۹۱ ایجاد شده است. به امید آنکه مفید واقع شود.
🔵 کانال‌ پی‌سی‌ترفند در تلگرام:
telegram.me/pctarfandir
🔵 ارتباط با ادمین:
telegram.me/pctarfand_admin

خلاصه آمار

تبليغات

۵

نگه داشتن فرمت و رنگ سلول‌ها پس از ترکیب آن‌ها در اکسل - ماکرو

اکسل ماکرونویسی

نگه داشتن فرمت و رنگ سلول‌ها پس از ترکیب آن‌ها در اکسل - ماکرو

فرض کنید قصد ترکیب محتویات دو سلول را دارید که فرمت یکی از آن‌ها درصد می‌باشد. پس از ترکیب این دو سلول به صورت معمولی، فرمت درصد آن از بین می‌رود و به فرمت عمومی تبدیل می‌شود. یا در حالتی‌که محتویات یکی از دو سلول رنگی باشد پس از ترکیب آن‌ها، رنگ از بین می‌رود و به رنگ سیاه تبدیل می‌شود. در ادامه مطلب با پی‌سی‌ترفند همراه باشید تا با نحوه نگه داشتن فرمت و رنگ سلول آشنا شوید.

نگه داشتن فرمت

برای نگه داشتن فرمت پس از ترکیب دو سلول دو روش وجود دارد:

۱) نگه داشتن فرمت بوسیله فرمول

همانطور که در تصویر زیر نشان داده شده است، در سلول A1 کلمه Nana قرار دارد و سلول B1 حاوی 75.62٪ است که با فرمت درصد می‌باشد.

حالا اگر دو سلول A1 و B1 را به صورت عادی با فرمولی که در شکل زیر با رنگ قرمز نشان داده شده است ترکیب کنیم نتیجه زیر یعنی Nana0.7562 حاصل می‌شود.

برای آنکه پس از ترکیب، فرمت درصد باقی بماند و نتیجه Nana 75.62٪ حاصل شود باید از فرمول زیر استفاده کنید:

=A1 & " " & TEXT(B1,"0.00%")

برای سایر فرمت‌ها به ترتیب تاریخ، ارز و ... باید از دستور Text بصورت‌های زیر استفاده شود:

TEXT(B1,"dd-mm-yyyy")

TEXT(B1, "$#,#0.00")

۲) نگه داشتن فرمت در ورد

اگر بخواهید سلول‌های چندین ردیف با فرمت‌های مختلف را یکجا و با نگه داشتن فرمت با یکدیگر ترکیب کنید می‌توانید از نرم افزار ورد استفاده کنید. بطور مثال مطابق تصویر زیر، ستون اول متن است و برخی از مقادیر ستون دوم دارای فرمت متفاوت هستند.

برای ترکیب دو ستون اما حفظ فرمت داده، مراحل زیر را انجام دهید:

۱- این دو ستون اطلاعات را از اکسل کپی کنید.

۲- سپس یک سند جدید ورد باز کرده و داده‌ها را در آن پیست کنید. (به طور معمول داده‌ها به صورت فرمت جدول جابجا می‌شوند)

۳- جدول را انتخاب کرده و مطابق تصویر زیر از بخش Table Tools روی تب Layout کلیک کنید. سپس از گروه Data روی Convert to Text کلیک کنید.

۴- در کادر Convert Table to Text، یک جدا کننده را برای جدا کردن محتویات ترکیب شده انتخاب کنید. می‌توانید از ویرگول یا سایر کاراکترهای خاص مانند فاصله، نقطه ویرگول و ... استفاده کنید. از علامت‌های پاراگراف و تب استفاده نکنید (تصویر زیر):
۵- سپس برای بستن کادر روی OK کلیک کنید. داده‌های تبدیل شده را کپی کنید و در جایی که می‌خواهید در اکسل پیست کنید. با اینکار نتیجه زیر را دریافت خواهید کرد:

نگه داشتن رنگ

برای نگه داشتن رنگ سلول باید از کد ماکرو استفاده کنید.

ماکرو نویسی در اکسل: 

۱) کلیدهای Alt + F11 را فشار دهید یا از تب Developer قسمت code گزینه Visual Basic را انتخاب کنید. پنجره Microsoft Visual Basic ظاهر می‌شود. در این پنجره از تب Insert گزینه Module را انتخاب نمائید.

در پنجره باز شده کدهای زیر را کپی کنید.

Sub MergeFormatCell()
'pctarfand.ir & tarfandha.blog.ir'
    Dim xSRg As Range
    Dim xDRg As Range
    Dim xRgEachRow As Range
    Dim xRgEach As Range
    Dim xRgVal As String
    Dim I As Integer
    Dim xRgLen As Integer
    Dim xSRgRows As Integer
    Dim xAddress As String
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xSRg = Application.InputBox("Please select cell columns to concatenate:", "KuTools For Excel", xAddress, , , , , 8)
    If xSRg Is Nothing Then Exit Sub
    xSRgRows = xSRg.Rows.Count
    Set xDRg = Application.InputBox("Please select cells to output the result:", "KuTools For Excel", , , , , , 8)
    If xDRg Is Nothing Then Exit Sub
    Set xDRg = xDRg(1)
    For I = 1 To xSRgRows
        xRgLen = 1
        With xDRg.Offset(I - 1)
            .Value = vbNullString
            .ClearFormats
            Set xRgEachRow = xSRg(1).Offset(I - 1).Resize(1, xSRg.Columns.Count)
            For Each xRgEach In xRgEachRow
                .Value = .Value & Trim(xRgEach.Value) & " "
            Next
            For Each xRgEach In xRgEachRow
                xRgVal = xRgEach.Value
                With .Characters(xRgLen, Len(Trim(xRgVal))).Font
                .Name = xRgEach.Font.Name
                .FontStyle = xRgEach.Font.FontStyle
                .Size = xRgEach.Font.Size
                .Strikethrough = xRgEach.Font.Strikethrough
                .Superscript = xRgEach.Font.Superscript
                .Subscript = xRgEach.Font.Subscript
                .OutlineFont = xRgEach.Font.OutlineFont
                .Shadow = xRgEach.Font.Shadow
                .Underline = xRgEach.Font.Underline
                .ColorIndex = xRgEach.Font.ColorIndex
                End With
                xRgLen = xRgLen + Len(Trim(xRgVal)) + 1
            Next
        End With
    Next I
End Sub
    Dim xRg As Range
    Dim xAddress As String
    Dim I, xNum, xLastRow, xFstRow, xCol, xCount As Long
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Select a range to use(single column):", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    xLastRow = xRg(1).End(xlDown).Row
    xFstRow = xRg.Row
    xCol = xRg.Column
    xCount = xRg.Count
    Set xRg = xRg(1)
    For I = xLastRow To xFstRow Step -1
        xNum = Cells(I, xCol)
        If IsNumeric(xNum) And xNum > 0 Then
            Rows(I + 1).Resize(xNum).Insert
            xCount = xCount + xNum
        End If
    Next
    xRg.Resize(xCount, 1).Select
    Application.ScreenUpdating = True
End Sub

۲) روی دکمه  کلیک کنید یا کلید F5 را فشار دهید. با انجام اینکار پنجره زیر ظاهر می‌شود. سپس محدوده‌ای که می‌خواهید ترکیب کنید را انتخاب کنید.

۳) پس از کلیک روی ok، کادر دیگری باز می‌شود که باید محدوده‌ای که می‌خواهید ترکیب سلول‌ها در آن قرار گیرد را انتخاب کنید.

۴) سپس روی OK کلیک کنید. سلول‌ها بدون از دست دادن رنگ متن به صورت تصویر زیر نشان داده می‌شود:

توجه داشته باشید اگر داده‌هایی که می‌خواهید ترکیب شوند شامل اعداد هستند، کد ماکرو به درستی کار نمی‌کند.

برای مطلع شدن از جدیدترین مطالب سایت، کانال‌ پی‌سی‌ترفند در تلگرام را با آی‌دی pctarfandir@ دنبال کنید:

          

سوالات خود در زمینه ورد و اکسل و ... را می‌توانید از طریق ایمیل و تلگرام با ما مطرح کنید.

آدرس ایمیل: tarfandha.blog@gmail.com

آی‌دی تلگرام: pctarfand_admin@

نظرات (۵)

  1. فروشگاه اینترنتی

    مقاله ی مورد استفاده و کاربردی بود و آموزش ها با زبانی فصیح و شیوا بیان شده.. شما فوق العاده اید
  2. چگونه پولدار شویم

    واقعا مطلب عالی بود بسیار به دردم خورد مرسی از شما

ارسال نظر

قبل از ارسال نظر به نکات زیر توجه کنید:

۱- با توجه با اینکه نظرات خصوصی شما امکان نمایش در سایت را ندارد، بنابراین هنگام ارسال نظر، گزینه "" را انتخاب نکنید. چون تنها راه پاسخگویی به آن از طریق ایمیل شما است که با توجه به مشغله کاری فرصت ارسال پاسخ از طریق ایمیل وجود ندارد.

۲- قبل از مطرح کردن سوالتان، مطلب فوق را با دقت مطالعه کنید. اگر پاسخ سوالتان را پیدا نکردید در سایت جستجو کنید، ممکن است در مطلب دیگر پاسخ سوالتان را پیدا کنید.

۳- تنها به سوالاتی پاسخ داده می‌شود که از نحوه حل آن‌ها اطلاع داشته باشم.

۴- نظراتی با مضمون زیر، صرفا تایید و نمایش داده می‌شود و به آن‌ها پاسخی داده نمی‌شود.

الف) در مورد پاسخ سوال شما اطلاعی نداشته باشم،

ب) پاسخ سوال شما در مطلب فوق وجود داشته باشد.

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی