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

Bev یک ورک بوک حاوی پنج کاربرگ دارد. او باید کاربرگ ها را در یک سند Word جایگذاری کند. او فکر می کند که آیا راهی برای چسباندن هر پنج کاربرگ به طور همزمان وجود دارد، نه یکی در یک زمان.

یکی از راه هایی که می توانید به این موضوع نزدیک شوید این است که هر پنج کاربرگ خود را در یک کاربرگ «راهنما» ترکیب کنید و سپس آن کاربرگ را در سند خود بچسبانید. مطمئناً می توانید این کار را به صورت دستی انجام دهید، اما اگر لازم است این کار را اغلب انجام دهید، یک ماکرو یک رویکرد سریع تر است:

Sub ConCatCopy()
    Dim Sheetnum As Integer
    Dim LastRow As Long

    Sheets.Add After:=Sheets(Sheets.Count)
    ActiveSheet.Name = "WordCopy"
    For Sheetnum = 1 To 5
        With Sheets(Sheetnum)
            .Activate
            .UsedRange.Select
            Selection.Copy
        End With
        Sheets("WordCopy").Select
        LastRow = Sheets("WordCopy").UsedRange.Rows.Count
        If LastRow > 1 Then
            LastRow = LastRow + 1
            Range("A" & LastRow).Select
            ActiveSheet.Paste
        End If
    Next Sheetnum
    Sheets("WordCopy").UsedRange.Select
    Selection.Copy
End Sub

ماکرو یک کاربرگ جدید (کاربرگ کمکی) به نام WordCopy اضافه می کند. سپس تمام سلول های هر پنج کاربرگ را کپی کرده و در کاربرگ WordCopy قرار می دهد. در نهایت، همه چیز در کاربرگ WordCopy در کلیپ بورد کپی می شود. سپس می توانید به سند Word خود بروید و Ctrl+V را فشار دهید تا اطلاعات را جایگذاری کنید. پس از اتمام، می توانید به ورک بوک خود بازگردید و کاربرگ WordCopy را حذف کنید.

یک رویکرد مبتنی بر کلان دیگر همچنان سلول های استفاده شده را در هر کاربرگ کپی می کند، اما آنها را مستقیماً در یک سند Word قرار می دهد و در نتیجه نیاز به کاربرگ کمکی را از بین می برد. این کد برای امتحان است:

Sub PasteAllWorksheets()
    Const MyDoc = "MyDocument.docx"
    Const wdStory = 6
    Const wdPageBreak = 7
    Dim File As String
    Dim WS As Worksheet

    File = ActiveWorkbook.Path & Application.PathSeparator & MyDoc
    With CreateObject("Word.Application")
        .Visible = True
        .Activate
        With .Documents.Open(Filename:=File)
            For Each WS In ActiveWorkbook.Worksheets
                WS.UsedRange.Copy
                With .ActiveWindow.Selection
                    .EndKey Unit:=wdStory
                    .InsertBreak Type:=wdPageBreak
                    .PasteExcelTable LinkedToExcel:=False, _
                      WordFormatting:=True, RTF:=False
                End With
            Next WS
        End With
    End With
    Application.CutCopyMode = False
End Sub

ماکرو یک سند موجود به نام MyDocument.docx را باز می کند. اگر سند شما از نام دیگری استفاده می کند، مقدار تعریف شده به عنوان ثابت MyDoc در ابتدای ماکرو را تغییر دهید. ماکرو همچنین فرض می کند که این سند در همان پوشه ورک بوکی است که از آن کپی می کنید.

محتوای هر کاربرگ در انتهای سند Word جایگذاری می شود و قبل از هر کاربرگ Excel که چسبانده می شود، یک صفحه بریکه می شود. اطلاعات اکسل به صورت جدول Word قرار می گیرد.

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

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

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

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

سوال مشابهی یافت نشد

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

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

159 نفر آنلاین
0 عضو و 159 مهمان در سایت حاضرند
بازدید امروز: 22991
بازدید دیروز: 27244
بازدید کل: 15225051
...