Reputation: 105
I've made a code to concatenate 3 columns namely YR which corresponds to cell A2, JJ which corresponds to cell B2 and YA which corresponds to cell D2. when i clicked a button i want it display the answer to G2. here's my code:
Sub Button1_Click()
Dim YR As String
Dim JJ As String
Dim YA As String
Dim RF As String
YR = Range("A2")
JJ = Range("B2")
YA = Range("D2")
RF = YR & "." & JJ & "." & YA
Range("G2") = RF
End Sub
my problem now is how can i made this code to work until there's a blank cell?? i've search a code regarding this which is:
Range("A1").Select
Do Until IsEmpty(ActiveCell.Value)
‘codes here
ActiveCell.Offset(1,0).Select
Loop
how can i made my code and thanks in advanced!
Upvotes: 1
Views: 2417
Reputation: 12353
Try below code if you don't wanna loop.
Sub Button1_Click()
Dim lastRow As Long
lastRow = Range("A" & Rows.Count).End(xlUp).Row
Range("G2:G" & lastRow).FormulaR1C1 = "=RC[-6] & ""."" & RC[-5] & ""."" & RC[-3]"
End Sub
Upvotes: 3
Reputation: 5077
Assuming I've understood your question, the following code might help (I've not tested it though)
Sub catrow(row as integer)
Dim YR As String
Dim JJ As String
Dim YA As String
Dim RF As String
YR = Range("A" & row).value2
JJ = Range("B" & row).value2
YA = Range("D" & row).value2
RF = YR & "." & JJ & "." & YA
Range("G" & row) = RF
End Sub
Sub Button1_Click()
Dim Target As Range
Dim Row As Integer
Row = 1
Set Target = ActiveSheet.Range("A" & Row)
Do Until IsEmpty(Target.Value)
catrow(row)
Set Target = Target.Offset(RowOffset:=1)
Loop
End Sub
Upvotes: 0