Gundisalvus
New Member
- Joined
- Jan 27, 2023
- Messages
- 4
- Office Version
- 365
- Platform
- Windows
Hello all I did a macro in VBA that should check column D for the first empty cell then paste on that row but on column C, and when adding new info in the table it should take the first empty cell again, but it is replacing data, I don't check column C for first row because i have an filled cell midway, and if data were to replace that cell it should add a new row and avoid that
also if it would keep numbering the filled rows when adding new data it would be great I am clueless on how I should do that
VBA Code:
Sub CopyPasteToAnotherSheet()
'Declare the variables
Dim sourceRange As Range 'The range of cells to be copied
Dim targetRange As Range 'The range of cells where the data will be pasted
Dim lastRow As Long 'The last row of data in the target sheet
Dim firstEmptyRow As Long 'The first empty row in the target sheet
'Set the source range to the selected cells
Set sourceRange = Selection
'Set the target range to the first cell in column D where data will be pasted
Set targetRange = Sheets("PARKING").Range("D18")
'Find the last row of data in the target sheet
lastRow = targetRange.End(xlDown).Row
'Find the first empty row in column D after the last row of data
firstEmptyRow = Sheets("PARKING").Range("D" & lastRow).End(xlUp).Row + 1
'If the last row of data is the first row in the target sheet, insert a new row
If lastRow = targetRange.Row Then
targetRange.EntireRow.Insert
End If
'Check if the corresponding cell in column C is empty
If Sheets("PARKING").Range("C" & firstEmptyRow).Value <> "" Then
'If it is not empty, move down one row
firstEmptyRow = firstEmptyRow + 1
End If
'Set the target range to the first empty cell in column C
Set targetRange = Sheets("PARKING").Range("C" & firstEmptyRow)
'Copy the source range
sourceRange.Copy
'Paste the data as values only into the target range
targetRange.PasteSpecial xlPasteValues
End Sub
Book1.xlsx | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | |||
17 | ### | xxxxxxxxxxxxxxxxxxxxxxxxx | ## | ##### | mm/dd/yyyy | xxxxxxxxx | xxx###(xx) | xxxx | AAAA | #,###,###,###.## | xxxxxxxxxx | ############ | xx | xx9999999 | RESERVED FOR SAP | |||
18 | 1 | |||||||||||||||||
19 | 2 | |||||||||||||||||
20 | 3 | |||||||||||||||||
21 | 4 | |||||||||||||||||
22 | 5 | |||||||||||||||||
23 | 6 | |||||||||||||||||
24 | 7 | |||||||||||||||||
25 | 8 | |||||||||||||||||
26 | 9 | |||||||||||||||||
27 | 10 | |||||||||||||||||
28 | 11 | |||||||||||||||||
29 | 12 | |||||||||||||||||
30 | 13 | |||||||||||||||||
31 | 14 | |||||||||||||||||
32 | 15 | |||||||||||||||||
33 | 16 | |||||||||||||||||
34 | 17 | |||||||||||||||||
35 | 18 | |||||||||||||||||
36 | 19 | |||||||||||||||||
37 | 20 | |||||||||||||||||
38 | 21 | |||||||||||||||||
39 | 22 | |||||||||||||||||
40 | 23 | |||||||||||||||||
41 | 24 | |||||||||||||||||
42 | 25 | |||||||||||||||||
43 | 26 | |||||||||||||||||
44 | 27 | |||||||||||||||||
45 | 28 | |||||||||||||||||
46 | 29 | |||||||||||||||||
47 | 30 | |||||||||||||||||
48 | 31 | |||||||||||||||||
49 | 32 | |||||||||||||||||
50 | 33 | |||||||||||||||||
51 | 34 | |||||||||||||||||
52 | 35 | |||||||||||||||||
53 | 36 | |||||||||||||||||
54 | 37 | |||||||||||||||||
55 | 38 | |||||||||||||||||
56 | 39 | |||||||||||||||||
57 | 40 | |||||||||||||||||
58 | 41 | |||||||||||||||||
59 | 42 | |||||||||||||||||
60 | 43 | |||||||||||||||||
61 | 44 | |||||||||||||||||
62 | 45 | |||||||||||||||||
63 | 46 | |||||||||||||||||
64 | 47 | |||||||||||||||||
65 | 48 | |||||||||||||||||
66 | 49 | |||||||||||||||||
67 | 50 | |||||||||||||||||
68 | 51 | |||||||||||||||||
69 | 52 | |||||||||||||||||
70 | 53 | |||||||||||||||||
71 | 54 | |||||||||||||||||
72 | 55 | |||||||||||||||||
73 | 56 | |||||||||||||||||
74 | 57 | |||||||||||||||||
75 | 58 | |||||||||||||||||
76 | 59 | |||||||||||||||||
77 | 60 | |||||||||||||||||
78 | 61 | |||||||||||||||||
79 | 62 | |||||||||||||||||
80 | 63 | |||||||||||||||||
81 | 64 | |||||||||||||||||
82 | 65 | |||||||||||||||||
83 | 66 | |||||||||||||||||
84 | 67 | |||||||||||||||||
85 | 68 | |||||||||||||||||
86 | 69 | |||||||||||||||||
87 | 70 | |||||||||||||||||
88 | 71 | |||||||||||||||||
89 | 72 | |||||||||||||||||
90 | 73 | |||||||||||||||||
91 | 74 | |||||||||||||||||
92 | 75 | |||||||||||||||||
93 | 76 | |||||||||||||||||
94 | 77 | |||||||||||||||||
95 | 78 | |||||||||||||||||
96 | 79 | |||||||||||||||||
97 | 80 | |||||||||||||||||
98 | 81 | |||||||||||||||||
99 | 82 | |||||||||||||||||
100 | 83 | |||||||||||||||||
101 | 84 | |||||||||||||||||
102 | 85 | |||||||||||||||||
103 | 86 | |||||||||||||||||
104 | 87 | |||||||||||||||||
105 | 88 | |||||||||||||||||
106 | 89 | |||||||||||||||||
107 | 90 | |||||||||||||||||
108 | 91 | |||||||||||||||||
109 | 92 | |||||||||||||||||
110 | 93 | |||||||||||||||||
111 | 94 | |||||||||||||||||
112 | 95 | |||||||||||||||||
113 | 96 | |||||||||||||||||
114 | 97 | |||||||||||||||||
115 | 98 | |||||||||||||||||
116 | 99 | |||||||||||||||||
117 | 100 | |||||||||||||||||
118 | 101 | |||||||||||||||||
119 | 102 | |||||||||||||||||
120 | 103 | |||||||||||||||||
121 | 104 | |||||||||||||||||
122 | 105 | |||||||||||||||||
123 | 106 | |||||||||||||||||
124 | 107 | |||||||||||||||||
125 | 108 | |||||||||||||||||
126 | 109 | |||||||||||||||||
127 | 110 | |||||||||||||||||
128 | 111 | |||||||||||||||||
129 | 112 | |||||||||||||||||
130 | 113 | |||||||||||||||||
131 | 114 | |||||||||||||||||
132 | 115 | |||||||||||||||||
133 | 116 | |||||||||||||||||
134 | * | DO NOT DELETE THIS ROW | ||||||||||||||||
135 | ||||||||||||||||||
136 | ||||||||||||||||||
PARKING |
also if it would keep numbering the filled rows when adding new data it would be great I am clueless on how I should do that