RobertHamberg
New Member
- Joined
- Jan 11, 2018
- Messages
- 34
- Office Version
- 365
I got help to write a VBA-code that register values to a table based on data in one cell. I need to rewrite it so it uses to values instead of one. The first picture is how it is now, but in the second picture I have how I want it to be. I want the vba-code to use de value in A1 AND A2 when saving data to the sheet "Cars"
VBA Code:
Sub SaveCar()
Dim vFoundDate, vFoundOmr
Dim SearchRange As Range
Dim dCar
Dim firstrow, lastrow, r, iStartrow, iStoprow
iStartrow = 3
iStoprow = 9
dCar = Sheets("Reg").Range("rSearchReg").Value
Call SortCars
Set vFoundDate = Sheets("Cars").Range("A:A").Find(dCar)
If Not vFoundDate Is Nothing Then
firstrow = Sheets("Cars").Range("A:A").Find(dCar, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext).Row
lastrow = Sheets("Cars").Range("A:A").Find(dCar, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Set SearchRange = Range(Sheets("Cars").Range("A:A").Range("B" & firstrow), Sheets("Cars").Range("B" & lastrow))
For r = iStartrow To iStoprow
If Not Sheets("Reg").Range("B" & r).Value = "" Then
Set vFoundOmr = SearchRange.Find(Sheets("Reg").Range("A" & r).Value)
If Not vFoundOmr Is Nothing Then
vFoundOmr.Offset(0, 1) = Sheets("Reg").Range("B" & r).Value
Else
lastrow = Sheets("Cars").Range("A:A").Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Sheets("Cars").Range("A" & lastrow + 1).Value = dCar
Sheets("Cars").Range("B" & lastrow + 1).Value = Sheets("Registrering").Range("A" & r).Value
Sheets("Bilar").Range("C" & lastrow + 1).Value = Sheets("Registrering").Range("B" & r).Value
End If
End If
Next r
Else
For r = iStartrow To iStoprow
If Not Sheets("Reg").Range("B" & r).Value = "" Then
lastrow = Sheets("Cars").Range("A:A").Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Sheets("Cars").Range("A" & lastrow + 1).Value = dCar
Sheets("Cars").Range("B" & lastrow + 1).Value = Sheets("Reg").Range("A" & r).Value
Sheets("Cars").Range("C" & lastrow + 1).Value = Sheets("Reg").Range("B" & r).Value
End If
Next r
End If
Call SortCars
End Sub