Microsoft Excel

Herbers Excel/VBA-Archiv

mit VBA Array oder String neu mischen | Herbers Excel-Forum


Betrifft: mit VBA Array oder String neu mischen von: hary
Geschrieben am: 21.02.2012 09:07:57

Einen schoenen Exceltag
Komme nicht weiter. Ich habe eine Namensliste unterschiedlich lang hoechstens 20.
Nun moechte ich die Namen auslesen, mischen und gemischt zurueckschreiben.
Mit Formel kein Prob. nur moechte ich es in VBA machen, da ich diese Liste mit VBA weiterverteile(das hab ich schon).
Waere schoen wenn jemand mir auf die Spruenge hilft.
also einlesen: "a,b,c,d,e" und zurueckschreiben mit Zufall "d,b,a,c,e"
Danke schon mal.
gruss hary

Tabelle1

 F
1Namen
2a
3b
4c
5d
6e
7 
8 

Tabellendarstellung in Foren Version 5.30


  

Betrifft: AW: mit VBA Array oder String neu mischen von: Josef Ehrensberger
Geschrieben am: 21.02.2012 09:27:54


Hallo Harry,

das geht z. B. so.

Sub mischen()
  Dim vntList As Variant, vntTmp As Variant
  Dim lngIndex As Long, lngRnd As Long
  
  With ActiveSheet
    vntList = .Range("A2:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
    Randomize Timer
    For lngIndex = 1 To UBound(vntList, 1)
      lngRnd = Int((UBound(vntList, 1)) * Rnd + 1)
      vntTmp = vntList(lngIndex, 1)
      vntList(lngIndex, 1) = vntList(lngRnd, 1)
      vntList(lngRnd, 1) = vntTmp
    Next
    .Range("A2").Resize(UBound(vntList, 1), 1) = vntList
  End With
End Sub






« Gruß Sepp »



  

Betrifft: AW: mit VBA Array oder String neu mischen von: hary
Geschrieben am: 21.02.2012 09:51:07

Hallo Sepp
Danke, da war ich mit meinem (nichtgeposteten) Loesungsweg auf dem falschen Dampfer.
gruss hary


Beiträge aus den Excel-Beispielen zum Thema "mit VBA Array oder String neu mischen"