ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Number and names of courses may change later (https://www.excelbanter.com/excel-programming/447621-number-names-courses-may-change-later.html)

[email protected]

Number and names of courses may change later
 
I'm using Excel 2010 and I have three company course names that I must add to a spreadsheet and I must do this operation routinely. I want the operation to move to the right in the spreadsheet and find the first available and empty column and then enter the course name, move right, enter another course name, etc. Here is the code that I'm using and it does work.

Code:


'Enter the three Course names at the end of the spreadsheet
    Selection.End(xlToRight).Select
    Range("Q1").Select
    ActiveCell.FormulaR1C1 = "Social Styles"
    Range("R1").Select
    ActiveCell.FormulaR1C1 = "Adaptive Leadership"
    Range("S1").Select
    ActiveCell.FormulaR1C1 = "Leading Virtually"
    Range("Q1:S1").Select
    Range("S1").Activate
    Selection.Font.Bold = True
    Cells.Columns.AutoFit

Here's the problem. Although this code works (thanks Macro recorder), it limits me to three courses with the names above. Next year it may be four, or five courses and they will be different names. I'm thinking that what I need is the ability to set variables as the course names then loop through those variables inserting their names in the proper places. This would allow me in the future to change only the variable names and everything would fall into place. Am I thinking about this correctly? Can anyone give me an idea what the code may look like. I do understand variables and arrays but I can't seem to piece it all together in my mind. Many thanks.





Claus Busch

Number and names of courses may change later
 
Hi John,

Am Sat, 10 Nov 2012 03:08:18 -0800 (PST) schrieb :

'Enter the three Course names at the end of the spreadsheet
Selection.End(xlToRight).Select
Range("Q1").Select
ActiveCell.FormulaR1C1 = "Social Styles"
Range("R1").Select
ActiveCell.FormulaR1C1 = "Adaptive Leadership"
Range("S1").Select
ActiveCell.FormulaR1C1 = "Leading Virtually"
Range("Q1:S1").Select
Range("S1").Activate
Selection.Font.Bold = True
Cells.Columns.AutoFit


try:

Sub Test()
Dim i As Integer
Dim FECol As Long
Dim NamesArr As Variant

NamesArr = Array("Social Styles", "Adaptive Leadership", _
"Leading Virtually")
FECol = Cells(1, Columns.Count).End(xlToLeft).Column + 1

For i = 0 To UBound(NamesArr)
Cells(1, FECol + i) = NamesArr(i)
Next
End Sub

Regards
Claus Busch
--
Win XP PRof SP2 / Vista Ultimate SP2
Office 2003 SP2 /2007 Ultimate SP2

Claus Busch

Number and names of courses may change later
 
Hi John,

I forgot font.bold and autofit:

Sub Test()
Dim i As Integer
Dim FECol As Long
Dim NamesArr As Variant

NamesArr = Array("Social Styles", "Adaptive Leadership", _
"Leading Virtually")
FECol = Cells(1, Columns.Count).End(xlToLeft).Column + 1

For i = 0 To UBound(NamesArr)
With Cells(1, FECol + i)
.Value = NamesArr(i)
.Font.Bold = True
.EntireColumn.AutoFit
End With
Next
End Sub


Regards
Claus Busch
--
Win XP PRof SP2 / Vista Ultimate SP2
Office 2003 SP2 /2007 Ultimate SP2

[email protected]

Number and names of courses may change later
 
Your code worked flawlessly and helped me understand how to do it. Thank you very much.


All times are GMT +1. The time now is 04:53 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com