• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Rijen samenvoegen op basis van nummer in cellen

Status
Niet open voor verdere reacties.

Patrickterp

Nieuwe gebruiker
Lid geworden
26 jun 2018
Berichten
2
Hallo Iedereen,

Ik ben allen tijdje op zoek naar een manier om verschillende rijen samen te voegen op basis van nummers in verschillende cellen die overeen komen. In de bijlage heb ik een bestand geplaatst dat weergeeft hoe ik het graag zou willen. Weet iemand of dit mogelijk is, en zo ja, hoe?

Alvast bedankt voor alle moeite :DBekijk bijlage test bestand v1.xlsb
 
Zo heb ik dat opgelost
 

Bijlagen

  • Kopie van test bestand v1.xlsm
    22,4 KB · Weergaven: 47
Minder interactie met het blad.
Code:
Sub hsv()
Dim sv, i As Long, a, b(3)
sv = Cells(1).CurrentRegion
With CreateObject("scripting.dictionary")
    For i = 2 To UBound(sv)
     a = .Item(sv(i, 1))
         If IsEmpty(a) Then a = b
            a(0) = sv(i, 1)
            a(1) = sv(i, 2)
             If IsDate(sv(i, 3)) Then
                 a(2) = CLng(sv(i, 3))
              Else
                 a(2) = sv(i, 3)
             End If
            a(3) = IIf(Mid(a(3), 1, 3) = " # ", Replace(a(3), " # ", "", 1, 1), a(3)) & " # " & sv(i, 4)
         .Item(sv(i, 1)) = a
     Next i
  Cells(10, 6).Resize(.Count, 4) = Application.Index(.items, 0, 0)
 End With
End Sub
 
Hoi Jean-Paul,

Bedankt voor je reactie. Zou je me nog kunnen vertellen hoe je dit hebt gedaan? Met een VBA? Ik zie verder namelijk geen formules oid.
 
Gebruik nooit samengevoegde cellen in Excel !

Zo zou ik het doen:

Code:
Sub M_snb()
   sn = Cells(1).CurrentRegion
   
   With CreateObject("scripting.dictionary")
      For j = 2 To UBound(sn)
          st = Application.Index(sn, j)
          If .exists(sn(j, 1)) Then
              st = .Item(sn(j, 1))
              st(4) = st(4) & " # " & sn(j, 4)
          End If
          .Item(sn(j, 1)) = st
      Next
      
      Cells(10, 6).Resize(.Count, 4) = Application.Index(.items, 0, 0)
    End With
End Sub
 
:confused:

ik zie hier gewoon 28-06-2018 staan.
 
In een maand zitten ook andere dagen dan de 28e.
 
Laatst bewerkt:
Hier niet :p

Code:
Sub M_snb()
   sn = Cells(1).CurrentRegion
   
   With CreateObject("scripting.dictionary")
      For j = 2 To UBound(sn)
          st = Application.Index(sn, j)
          If .exists(sn(j, 1)) Then
              st = .Item(sn(j, 1))
              st(4) = st(4) & " # " & sn(j, 4)
          End If
          If IsDate(st(3)) Then st(3) = 1 * CDate(st(3))
          .Item(sn(j, 1)) = st
      Next
      
      Cells(10, 6).Resize(.Count, 4) = Application.Index(.items, 0, 0)
    End With
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan