This is a very simple Excel macro created by one of our fellows in the early days of Oliveria, but it may cover most of your essential needs when you need to create hunreds of simple badges with custom design in Excel fast. We hope it will be helpful for you!
Want more functions? Contact us!
Download:
VBA code:
' A simple tool to prepare for printing simple custom badges ' Oliveria 2017 ' Questions and comments welcome http://oliveria.ru ' Want to do something special, but not enough functionality here? Contact us and we will do it for you! Option Explicit Sub Make_Me_Some_Badges_Prego() Dim i, k, LastRow, j, s, n As Integer Dim cell As Range Application.ScreenUpdating = False LastRow = Worksheets("Participants").Cells(Rows.Count, 1).End(xlUp).Row ReDim LastNames(LastRow + 10), FirstNames(LastRow + 10), CompanyNames(LastRow + 10) As String k = (LastRow - 2) / 10 k = Application.RoundUp(k, 0) For i = 3 To LastRow LastNames(i - 3) = Cells(i, 2).Value FirstNames(i - 3) = Cells(i, 3).Value CompanyNames(i - 3) = Cells(i, 4).Value Next i If k > 1 Then Worksheets("Result").Select Range(Cells(1, 1), Cells(50, 10)).Copy Worksheets("Result").Select Range(Cells(1, 11), Cells(50, k * 10)).Select ActiveSheet.Paste End If j = Application.RoundUp((LastRow - 2) / 5, 0) n = 0 For s = 0 To j - 1 For i = 0 To 4 Worksheets("Result").Cells(5 + 10 * i, 1 + s * 5).Value = LastNames(n) & " " & FirstNames(n) Worksheets("Result").Cells(5 + 10 * i + 3, 1 + s * 5).Value = CompanyNames(n) n = n + 1 Next i Next s Application.ScreenUpdating = True MsgBox LastRow - 2 & " badges." & Chr(10) & " Sincerely yours, Oliveria." End Sub