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

اگر یک لیست داده را به اکسل وارد کنید، غیرعادی نیست که در پایان با داده های زیادی در ستون A به پایان برسانید. در واقع، غیرعادی نیست که در هیچ یک از ستون های دیگر چیزی نداشته باشید. (البته این همه به ماهیت داده‌هایی که وارد می‌کنید بستگی دارد.) به عنوان بخشی از کار با داده‌ها در اکسل، ممکن است بخواهید داده‌ها را سازماندهی مجدد کنید تا به ستون‌های بیشتری از ستون A کشیده شوند. .

به عنوان مثال، تصور کنید که داده‌های خود را وارد کرده‌اید، و در نهایت ردیف‌های 1 تا 212 ستون A را اشغال کرده‌اید. آنچه واقعاً می‌خواهید این است که داده‌ها ستون‌های A تا F را اشغال کنند، هر چند ردیف برای نگهداری داده‌ها لازم باشد. بنابراین، A2 باید به B1، A3 به C1، A4، به D1، A5 به E1، A6 به F1، و سپس A7 به A2، A8 به B2 و غیره منتقل شود.

برای سازماندهی مجدد داده ها به این روش، می توانید از ماکرو زیر استفاده کنید. داده هایی را که می خواهید سازماندهی مجدد کنید انتخاب کنید و سپس ماکرو را اجرا کنید. از شما پرسیده می شود که چند ستون در داده های سازماندهی مجدد شده می خواهید، و سپس جابجایی داده ها آغاز می شود.

Sub CompressData()
    Dim rSource As Range
    Dim rTarget As Range
    Dim iWriteRow As Integer
    Dim iWriteCol As Integer
    Dim iColCount As Integer
    Dim iTargetCols As Integer
    Dim J As Integer

    iTargetCols = Val(InputBox("How many columns?"))
    If iTargetCols > 1 Then
        Set rSource = ActiveSheet.Range(ActiveWindow.Selection.Address)
        If rSource.Columns.Count > 1 Then Exit Sub

        iWriteRow = rSource.Row + (rSource.Cells.Count / iTargetCols)
        iWriteCol = rSource.Column + iTargetCols - 1
        Set rTarget = Range(Cells(rSource.Row, rSource.Column), _
          Cells(iWriteRow, iWriteCol))

        For J = 1 To rSource.Cells.Count
            rTarget.Cells(J) = rSource.Cells(J)
            If J > (rSource.Cells.Count / iTargetCols) Then _
              rSource.Cells(J).Clear
        Next J
    End If
End Sub

ماکرو اطلاعات را با تعریف دو محدوده انتقال می دهد: محدوده منبعی که هنگام اجرای ماکرو انتخاب کرده اید و محدوده هدف که با اندازه محاسبه شده بر اساس تعداد ستون های مورد نظر شما تعریف شده است. محدوده منبع با شی متغیر rSource و محدوده هدف با rTarget نمایش داده می شود. حلقه For ... Next برای انتقال واقعی مقادیر استفاده می شود.

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

پاسخ شما

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

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

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

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 32 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 37 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 32 visibility
ارسال شده در 23 تیر 1402 موضوع: ویندوز توسط: Admin
0 دوستدار 0 امتیاز منفی
0 پاسخ 29 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 33 visibility

23.7k سوال

9.0k پاسخ

614 دیدگاه

11.2k کاربر

202 نفر آنلاین
1 عضو و 201 مهمان در سایت حاضرند
اعضای حاضر در سایت
بازدید امروز: 11646
بازدید دیروز: 17853
بازدید کل: 20323830
...