• 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.

sorteren/ verschuiven

  • Onderwerp starter Onderwerp starter don42
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

don42

Gebruiker
Lid geworden
25 apr 2014
Berichten
800
Beste helpers,

Ik heb een strookje 10 kolommen 3 rijen
nu wil ik het standaard strookje verschuiven

kijk aub in het voorbeeld dat maakt vast duidelijk wat ik graag wil (vba)
 

Bijlagen

Laatst bewerkt:
En waar is het voorbeeld?
 
nu staat het er bij:rolleyes:
oplossing indien mogelijk in vba
 
Als het standaardstrookje bovenaan had gestaan kon je sorteren met horizontaal zoeken.
In mijn office versie is x.zoeken nog niet aanwezig.
Groetjes , Ron.
 
probeer het ui te leggen

in cel b8 staat jaartal vandaar uit tellen de 3 getallen waar 1 in het midden staat 55 boven en 78 onder


voorbeeld 2
in cel d16 staat een jaartal daar moet het zelfde rijtje getallen komen met 1 in het midden 55 boven en 78 onder

gelijk in voor beeld 3

staat in cel j24 staat een jaartal daar moet het zelfde rijtje daarboven getallen komen met 1 in het midden 55 boven en 78 onder

hoop dat dit iets duidelijker maakt
 
Code:
Sub strookje()
   Dim kolommen()
   Set c0 = Range("B5").Resize(3, 10)            'Startstrookje
   arr = c0.Value                                'inlezen in array
   ReDim kolommen(0 To UBound(arr, 2) - 1)       'voorbereiden array die straks kolomvolgorde bevat

   For Each c2 In Range("B16,B24").Cells         'cel links in de rij van de jaartallen
      On Error Resume Next
      Set c = Nothing
      Set c = c2.Resize(, 10).SpecialCells(xlCellTypeConstants).Cells(1)   'bepaal 1e niet-lege cel in die rij
      If Not c Is Nothing Then                   'er is zo'n cel
         i = c.Column - c0.Column                'zoveel kolommen naar rechts vanaf die basiscel
         
         For i = 0 To 9                          'vullen array met kolomvolgorde
            kolommen(i) = (20 - c.Column + c0.Offset(, i).Column) Mod 10 + 1
         Next i

         For i = 1 To 3                          '3 rijen erboven aflopen
            c2.Offset(-4 + i).Resize(, 10).Value = Application.Index(arr, i, kolommen)   'vullen met die geroteerde waarden
         Next
      End If
   Next
End Sub
 
dit werkt perfect
en ook nog met de mooie uitleg, ben er blij mee en kan weer verder

bedankt.:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan