Hi,
I need someone who is fast and an expert in Word VBA. I have some code I need to alter to skip printing blank labels in a mail merge process using Microsoft Word. It should be very simply for someone who is an expert.
Here's the VBA I'm using. and here's what I'm trying to do:
I have a spreadsheet of records which I use with the mail merge function in Word. I'm running 2013 for both. I want to stop wasting blank label sheets when I print a sheet and my data set ends before the last label on a page is used. I'd like to use the remainder labels on the sheet.
I have accounting for the empty labels by entering blank records at the beginning of my data set in Excel. So, that part works well. However, because I'm using the headers to print on the label, when I print blank records, the headers print in the used labels section of a labels page. I don't want to do this because printing on the wax backing causes the ink to smudge and my employees end up smudging it on to other labels.
How would you recommend that I address this. If you think it is best to use VBA in Word, would you mind providing some code I could cut and paste? It would need to account for the fact that I have employees using this program on different laptops, so, it would need some way for them to enter the file location which varies for each user. Once they have set up the location, I wouldn't want them to be prompted to enter the file location every time they run labels.
Here's the Word VBA code I want to revise:
If using mailmerge to create the labels and the data source is a Word document, you can use the following macro to set the starting label on a partly used sheet of labels:
Macro to set the first label on a part sheet of labels for a label type mailmerge.
Dim MMMDoc As Document
Dim dsource As Document
Dim dtable As Table
Dim i As Long, j As Long
Set MMMDoc = ActiveDocument
With [login to view URL]
If .MainDocumentType = wdMailingLabels Then
If .State = wdMainAndDataSource Then
Set dsource = [login to view URL](.[login to view URL])
Set dtable = [login to view URL](1)
i = InputBox("Enter the number of labels that have already been used on the sheet.", "Set Starting Label")
If IsNumeric(i) Then
With dtable
For j = 1 To i
.[login to view URL] BeforeRow:=.Rows(2)
Next j
End With
End If
.Destination = wdSendToNewDocument
.Execute
End If
End If
End With
[login to view URL] wdDoNotSaveChanges
I have expertise in vba..
Client's satisfaction is my first priority and believe in long-term relationship with my clients.
Thanks
Relevant Skills and Experience
excel vba
Proposed Milestones
$30 USD - default
$30 USD 1 napon belül
5,0 (33 értékelés)
5,5
5,5
3 szabadúszó adott átlagosan $72 USD összegű árajánlatot erre a munkára
Greeting,
I have understood your VBA task and can do it with your 100% satisfaction. Please ping me for more discussion.
Relevant Skills and Experience
I have more than 5 years of experience in Excel, Microsoft Office, Visual Basic, Visual Basic for Apps, Word
Proposed Milestones
$150 USD - VBA Task
I can make this work successful, please contact me to discuss further
Relevant Skills and Experience
Worked on VB and VBA with various applications like MS Office, PDF, SAP, IE and Databases
Proposed Milestones
$35 USD - Output