Hi,
I work in a research lab and we need your help!! We've just purchased a slide printer (it works just like a normal thermal printer to put text onto the slide), but it doesn't come with any software and we currently have to print each slide one at a time manually!!! However, it is possible to connect this slide printer to a PC and by using excels "page setup" to make each page exactly the same size as the slides printable area, it's possible to print out a run of slides. Unfortunately, I need some help coding this
I have a first worksheet in excel where we will put the information that we want on the slide. We also need to add a number to each of the slides so we know the sequence that the tissue comes off the machine in, but that wont always start at 1 so we need to be able to define a "slide numbering start at", "slide numbering stop at" so we can work out the number of slides needed. This number then needs to be added to the slide output that will be printed.
In the PRINT Worksheet I've used the =FORM!B3 in the PRINT!A1 etc to get the information from the FORM cells into the PRINT cells. The number in PRINT!B4 is from the "slide start at number" FORM!B12
But what I can't work out is how to copy these 4 rows (and 2 columns) of information to form a sequence defined by the number of slides needed. I want to end up with the following (which I've made manually to explain what I need).
(Ideally I wouldn't want the number in a separate column and it would be amazing if that was added to text in A eg H&E became H&E 1, H&E 2 etc, but happy to go with either).
In vba I managed to use the following to copy and paste manually added text into cells A1:B4, but it didn't work when I used the =FORM!B3 in cell PRINT!A1 etc as the formula was different for each of the pasted cells rather than using the same (original) one in A1 each time.
Sub CopyMulti()
Range("PRINT!A1:B4").Copy Range("PRINT!A5").Resize(4 * Range("FORM!B18"))
End Sub
which resulted in the following output.
I apologise for the longwinded explanation and I'm guessing this is really simple, but I'm just not getting anywhere on my own. You'd be making a group of scientists very happy if you could help!!
I work in a research lab and we need your help!! We've just purchased a slide printer (it works just like a normal thermal printer to put text onto the slide), but it doesn't come with any software and we currently have to print each slide one at a time manually!!! However, it is possible to connect this slide printer to a PC and by using excels "page setup" to make each page exactly the same size as the slides printable area, it's possible to print out a run of slides. Unfortunately, I need some help coding this
I have a first worksheet in excel where we will put the information that we want on the slide. We also need to add a number to each of the slides so we know the sequence that the tissue comes off the machine in, but that wont always start at 1 so we need to be able to define a "slide numbering start at", "slide numbering stop at" so we can work out the number of slides needed. This number then needs to be added to the slide output that will be printed.
In the PRINT Worksheet I've used the =FORM!B3 in the PRINT!A1 etc to get the information from the FORM cells into the PRINT cells. The number in PRINT!B4 is from the "slide start at number" FORM!B12
But what I can't work out is how to copy these 4 rows (and 2 columns) of information to form a sequence defined by the number of slides needed. I want to end up with the following (which I've made manually to explain what I need).
(Ideally I wouldn't want the number in a separate column and it would be amazing if that was added to text in A eg H&E became H&E 1, H&E 2 etc, but happy to go with either).
In vba I managed to use the following to copy and paste manually added text into cells A1:B4, but it didn't work when I used the =FORM!B3 in cell PRINT!A1 etc as the formula was different for each of the pasted cells rather than using the same (original) one in A1 each time.
Sub CopyMulti()
Range("PRINT!A1:B4").Copy Range("PRINT!A5").Resize(4 * Range("FORM!B18"))
End Sub
which resulted in the following output.
I apologise for the longwinded explanation and I'm guessing this is really simple, but I'm just not getting anywhere on my own. You'd be making a group of scientists very happy if you could help!!