جان یک قطعه تجهیزات دارد که اعداد را به صورت متن خروجی می دهد. حتی اگر سلول مقصد در کاربرگ او به صورت عددی با سه رقم اعشار قالب بندی شده است، این قالب بندی هنگام چسباندن نادیده گرفته می شود. داده ها همیشه به عنوان متن چسبانده می شوند. سپس جان باید سلولی را که به تازگی چسبانده است برجسته کند، به عدد تبدیل کند، سپس به سه رقم اعشار قالببندی کند. این کار زمان زیادی می برد! جان تعجب می کند که چگونه می تواند داده ها را با استفاده از قالب بندی مقصد جایگذاری کند.
چند چیز وجود دارد که می توانید امتحان کنید، از روش های بسیار ساده تا رویکردهای پیچیده تر. با این حال، همه آنها با اطمینان از اینکه سلول های مقصد شما همانطور که می خواهید قالب بندی شده اند شروع می شوند (که به نظر می رسد شما انجام داده اید).
جان نشان نمیدهد که چگونه قطعهای از تجهیزات اعداد را خروجی میدهد، فقط به عنوان متن خروجی هستند. این امکان وجود دارد که آنها در یک فایل متنی، در یک کاربرگ اکسل، در یک صفحه وب، در یک PDF یا روی صفحه نمایش خود برنامه خروجی شوند. نحوه خروجی اعداد می تواند به نحوه چسباندن آنها در اکسل اهمیت داشته باشد، به همین دلیل است که اشاره کردم که راه حل ممکن است به طرز شگفت انگیزی ساده یا پیچیده تر باشد.
صرف نظر از نحوه خروجی اعداد، آنها را انتخاب کرده و Ctrl+C را فشار دهید . این اعداد را در کلیپ بورد کپی می کند و می توانید به اکسل بروید. سلولی را که می خواهید اطلاعات در آن جایگذاری شود انتخاب کنید، اما Ctrl+V را کلیک نکنید . در عوض، تب Home نوار را نمایش دهید. در سمت چپ ابزار Paste را می بینید. می خواهید روی فلش رو به پایین در سمت راست این ابزار کلیک کنید. در پالت گزینه ها یا منوی زمینه به دست آمده، می خواهید Paste Values، Keep Text Only، یا Match Destination Formatting را انتخاب کنید. (شکل 1 را ببینید.)

شکل 1. منوی زمینه ابزار چسباندن.
هر یک از این سه گزینه به گونهای طراحی شدهاند که اساساً همان کار را انجام دهند - به سادگی مقادیر را بدون هیچ گونه قالببندی از منبع جایگذاری کنید. (این که کدام گزینه قابل مشاهده است، در بیشتر موارد به ویژگی های داده منبع شما بستگی دارد.) اگر هیچ یک از این سه گزینه را نمی بینید، Paste Special را انتخاب کنید و حداقل یکی از آنها باید در کادر محاوره ای موجود باشد.
اگر دادههای شما اکنون با استفاده از قالببندی مقصد مورد نظر در کاربرگ قرار دارند، خوب هستید که بروید. اگرچه ممکن است این روش ساده آنطور که انتظار دارید کار نکند. (باز هم، این بستگی به منبع اطلاعاتی دارد که میخواهید جایگذاری کنید.) اگر چنین است، کادر محاورهای Paste Special را که قبلا توضیح داده شد، نمایش دهید. (شکل 2 را ببینید.)

شکل 2. کادر محاوره ای Paste Special.
با این حال، در این مورد، شما می خواهید نه تنها دکمه رادیویی Values، بلکه دکمه رادیویی Add را نیز انتخاب کنید. این باعث میشود اکسل هر آنچه را که در کلیپ بورد است به سلولهای هدف اضافه کند، که میتواند (با برخی از دادههای منبع) تبدیل مورد نظر را به مقادیر عددی که برای حفظ قالببندی مقصد ضروری است، فراهم کند.
حتی این روش برای برخی از عملیات چسباندن من جواب نداده است. به عنوان مثال، ممکن است در نهایت مقادیر متعددی را از برنامه منبع کپی کنم که باید در چندین سلول در کاربرگ اکسل قرار گیرند. با این حال، این مقادیر نه با کاراکترهای برگه (که به اکسل می گوید که مقادیر باید در سلول های متعدد بروند) بلکه با فاصله های متعدد از هم جدا می شوند. این باعث می شود اکسل چندین مقدار را در یک سلول قرار دهد و هیچ مقداری از cajoling باعث نمی شود اکسل آنها را به عنوان مقادیر عددی ببیند. تنها کاری که می توان در این مثال انجام داد این است که آنها را در اکسل قرار دهید و سپس از ابزار Text to Columns (در زبانه Data نوار) برای جدا کردن مقادیر به سلول های متعدد استفاده کنید، در این مرحله ممکن است قالب بندی سلول اضافی لازم باشد. از طرف من
اگر متوجه شدید که قبل از قرار دادن داده ها در کاربرگ خود نیاز به ماساژ دادن داده ها در اکسل دارید، ممکن است بخواهید یک کاری انجام دهید: چسباندن و ماساژ اولیه را روی صفحه کاری متفاوت از مقصد نهایی خود انجام دهید. به این ترتیب کاربرگ مقصد نهایی خود را خراب نمی کنید. همچنین میتوانید دادههای ماساژ شده را کپی کرده و با استفاده از کادر محاورهای Paste Special با استفاده از تکنیکهایی که قبلاً توضیح داده شد، آنها را در آن مقصد قرار دهید.
من باید روش دیگری را ذکر کنم که اگر مقادیری را که در یک سلول ظاهر می شوند جایگذاری می کنید، می توانید از آن استفاده کنید. هنگامی که سلول مقصد را انتخاب کردید، باید به جای خود سلول، در نوار فرمول قرار دهید. به عبارت دیگر سلول را انتخاب کنید و سپس یک بار در نوار فرمول کلیک کنید. در آنجا میتوانید Ctrl+V را برای چسباندن مقدار فشار دهید و سپس Enter را فشار دهید . قالب بندی سلول حداقل نباید مختل شود.
اگر هر کاری که انجام میدهید همچنان به چسباندن متن در سلولها منجر میشود، ممکن است از یک ماکرو برای تبدیل سلولها به قالببندی عددی دلخواه خود استفاده کنید. در اینجا یک سریع است که می توانید استفاده کنید:
Sub DoConvert()
Dim c As Range
For Each c In Selection
If IsNumeric(c) And Not IsEmpty(c) Then
c.Value = CSng(c.Value)
c.NumberFormat = "0.000"
End If
Next c
End Sub
فقط سلول هایی را که می خواهید تحت تأثیر قرار دهید (آنهایی که پس از انجام چسباندن به اشتباه به عنوان متن قالب بندی شده اند) را انتخاب کنید و سپس ماکرو را اجرا کنید. پس از تبدیل مقادیر موجود در سلول ها به مقادیر عددی واقعی، قالب بندی مورد نظر را به سلول ها اعمال می کند. باید توجه داشته باشید که هیچ گونه تقسیم چند سلولی را انجام نمی دهد، نوعی که قبلاً توضیح دادم که در آن مقادیر کپی شده از منبع شامل فاصله بین مقادیر به جای برگه ها هستند.