با عرض سلام، جدولی از افراد داریم که می خواهیم، برای هر فرد یک کارنامه صادر شود،
کد آن را نوشته ام:
اما جواب به این صورت دیده می شود:


چه تغییر در کد، بالاخص دو خط
بدهم که فرمت سلول های مرج شده را به همان شکل و رنگ نشان بدهد؟
کد آن را نوشته ام:
کد:
Sub moghayese_va_darj_Range_motanazer() Dim file_digar As Workbook Dim Sheet_digar As Worksheet Dim Sheet_hazer As Worksheet, Sheet_hazer2 As Worksheet Dim rng As Range, rng2 As Range tedade_peida_shode = 0 'Set file_digar = Workbooks.Open("D:\___ziafat\___Modarresin\modarresin-hamayesh-98.xlsx") Set Sheet_hazer = ThisWorkbook.Worksheets("yek_modares") Set Sheet_digar = ThisWorkbook.Worksheets("modar_ama") Set Sheet_digar2 = ThisWorkbook.Worksheets("asatid") ThisWorkbook.Activate LastRow = Sheet_hazer.Range("D" & Rows.Count).End(xlUp).Row LastRow2 = Sheet_digar2.Range("L" & Rows.Count).End(xlUp).Row i = 1 For j = 2 To 4 modarres = Sheet_digar.Cells(j, 12).Value hozoor = Sheet_digar.Cells(j, 39).Value ' shomarandeh Sheet_hazer.Cells(1, 5).Value = "j: " & j Sheet_hazer.Cells(1, 6).Value = "i: " & i Sheet_hazer.Cells(1, 7).Value = "modarres: " & modarres j2 = (j - 1) * 26 Sheet_hazer.Cells(1, 1).Copy _ Sheet_hazer.Cells(1 + j2, 1) Sheet_hazer.Cells(1, 2).Copy _ Sheet_hazer.Cells(1 + j2, 2) Sheet_hazer.Cells(1, 3).Copy _ Sheet_hazer.Cells(1 + j2, 3) Sheet_hazer.Cells(2, 1).Copy _ Sheet_hazer.Cells(2 + j2, 1) Sheet_hazer.Cells(2 + j2, 2) = modarres Sheet_hazer.Cells(2, 3).Copy _ Sheet_hazer.Cells(2 + j2, 3) For i = 3 To 25 Sheet_hazer.Cells(i + j2, 1).Value = Sheet_hazer.Cells(i, 1) Sheet_hazer.Cells(i + j2, 2) = Sheet_hazer.Cells(i, 2) Sheet_hazer.Cells(i, 3).Copy _ Sheet_hazer.Cells(i + j2, 3) Next i Next j End Sub
چه تغییر در کد، بالاخص دو خط
کد:
Sheet_hazer.Cells(i + j2, 1).Value = Sheet_hazer.Cells(i, 1) Sheet_hazer.Cells(i + j2, 2) = Sheet_hazer.Cells(i, 2)
کامنت