Hitta nästa tomma cell i raden

I detta tips belyses hur vi kan hittar nästa tomma cell i rader för sammanställning av.


Följande tabell visar förutsättningarna för exemplet:  


Om en person har ett kryss i det första alternativet, "AA", ska radrubiken visas i kolumn B för personen. Därefter ska raden fyllas på med de andra ifyllda alternativen.

Detta ska upprepas för samtliga namn, M a o, kolumnområdet B:D ska fyllas med radrubrikerna från cellområdet E2:I2, givet att ett kryss är angivet i respektive kolumn.

Här visas hur vi mha av metoden SpecialCells kan lösa det tekniska problemet.

Option Explicit

Sub Hitta_Nasta_Tomma_Cell()
'© Alla rättigheter XL-Dennis
Dim wsBlad As Worksheet
Dim rnInput As Range, rnVarden As Range, rnAntal As Range
Dim iAntalRader As Integer, i As Integer, j As Integer

Set wsBlad = ThisWorkbook.Worksheets("Blad1")
Set rnInput = wsBlad.Range("Indata")
Set rnAntal = wsBlad.Range(Range("A3"), Range("A65536").End(xlUp))
Set rnVarden = wsBlad.Range("Rubriker")
iAntalRader = rnAntal.Rows.Count


Application.ScreenUpdating = False

For j = 1 To iAntalRader
       For i = 1 To 5

            'Evaluering om aktuell cell håller värdet "x"
            If rnInput(j, i).Value = "x" Then
                On Error Resume Next
                     'Här identifieras nästa tomma cell i raden
                     Range("B" & 2 + j & ":D" & 2 + j) _
                        .SpecialCells(xlCellTypeBlanks)(1).Value = rnVarden(1, i).Value
                On Error GoTo 0
            End If
       Next i
Next j

Application.ScreenUpdating = True
End Sub

Utfallet av ovanstående procedur blir: