ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
55 visibility
موضوع: آفیس توسط:

گاهی اوقات داده هایی که در یک کاربرگ جمع آوری می کنید به خوبی در یک ستون قرار می گیرند. به عنوان مثال، شما ممکن است لیستی از نام ها داشته باشید، و همه آنها در ستون A از کاربرگ شما قرار دارند. هنگامی که کاربرگ را انتخاب می‌کنید، می‌تواند چند صفحه را مصرف کند، همه آنها تقریباً خالی هستند زیرا سمت چپ هر صفحه دارای یک نام است و سمت راست دارای فضای سفید است.

در این نوع نمونه، خوب است که تک ستون را طوری چاپ کنید که انگار چندین ستون است. به این ترتیب می توانید تعداد بیشتری از هر صفحه چاپ شده و تعداد صفحات کمتری را برای کار چاپ خود استفاده کنید. متأسفانه، اکسل حاوی هیچ دستور ذاتی یا تنظیمات چاپی نیست که به شما امکان می دهد داده های خود را به طور خودکار قالب بندی کنید تا بهتر چاپ شوند. با این حال راه‌حل‌هایی وجود دارد.

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

اگر ترجیح می‌دهید Word را درگیر نکنید، می‌توانید اطلاعات را از ستون اول در ستون‌های دیگر برش داده و جای‌گذاری کنید تا تعداد ستون‌های چاپی مورد نظر را ارائه دهید. البته این کار باید در یک کاربرگ یا کتاب کار جدید انجام شود تا داده های اصلی دست نخورده باقی بمانند. به عنوان مثال، اگر 200 نام در لیست اصلی خود دارید، می توانید هر بار 40 نام را از لیست جدا کرده و در ستون های A تا E یک کاربرگ جدید قرار دهید. چاپ این کاربرگ به صفحات کمتری نسبت به چاپ کاربرگ تک ستونی اصلی نیاز دارد.

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

Sub SingleToMultiColumn()
    Dim rng As Range
    Dim iCols As Integer
    Dim lRows As Long
    Dim iCol As Integer
    Dim lRow As Long
    Dim lRowSource As Long
    Dim x As Long
    Dim wks As Worksheet

    Set rng = Application.InputBox _
      (prompt:="Select the range to convert", _
      Type:=8)
    iCols = InputBox("How many columns do you want?")
    lRowSource = rng.Rows.Count
    lRows = lRowSource / iCols
    If lRows * iCols <> lRowSource Then lRows = lRows + 1

    Set wks = Worksheets.Add
    lRow = 1
    x = 1
    For iCol = 1 To iCols
        Do While x 

When you run this macro, you are asked to select the range you want to convert, and then you are asked to specify the number of columns you want it to be reformatted as. It creates a new worksheet in the current workbook and copies information from the original into as many columns as you specified.

For additional resources to solve this problem, refer to the following Web sites:

http://www.ozgrid.com/VBA/MiscVBA.htm#Print
http://dmcritchie.mvps.org/excel/snakecol.htm
اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 77 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 36 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 27 visibility
ارسال شده در 27 تیر 1402 موضوع: آفیس توسط: Admin
0 دوستدار 0 امتیاز منفی
0 پاسخ 20 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 39 visibility

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

230 نفر آنلاین
1 عضو و 229 مهمان در سایت حاضرند
اعضای حاضر در سایت
بازدید امروز: 16164
بازدید دیروز: 17853
بازدید کل: 20328347
...