Microsoft Excel

Herbers Excel/VBA-Archiv

Zufallsbuchstaben/-zahlen

Betrifft: Zufallsbuchstaben/-zahlen von: André
Geschrieben am: 16.07.2008 17:42:19

Hallo Excelfans,

stehe mal wieder vor einem Problem,

ich möchte in einem Bereich (C12:D41) der z.T. mit Namen und z.T. meist aber am Ende mit Leerzellen gefüllt ist, mit Zufallsbuchstaben und -zahlen füllen. Bedingung dabei ist, dass immer als erstes "zzz" und anschließend eine lfd. Zahl dahinter steht. Bsp: 1. freie Zelle: zzz1; 2. freie Zelle: zzz2; 3. freie Zelle: zzz3 usw.
Kann man dieses per VBA umsetzen? Wüde mich freuen mir hier jemand helfen könnte.

Falls Fragen sein sollten, bitte ich um Rückmeldung.

PS: Leider habe ich nichts im Archiv gefunden.

Vielen Dank im Voraus!

Gruß
André aus SH

  

Betrifft: AW: Zufallsbuchstaben/-zahlen von: Peter Feustel
Geschrieben am: 16.07.2008 18:15:48

Hallo nach SH

so könnte es gehen:

Option Explicit

Public Sub PerZufall()

Dim rZelle  As Range

   Randomize

   For Each rZelle In Range("C12:D41")
      If rZelle.Value = "" Then
         rZelle.Value = "zzz" & Int(Rnd() * 800) + 100
      End If
   Next rZelle
 
End Sub



Gruß Peter aus HH


  

Betrifft: AW: Zufallsbuchstaben/-zahlen von: André
Geschrieben am: 18.07.2008 15:59:36

Vielen Dank für beide Lösungsvorschläge!

Ich habe mich aber für die Lösung von Peter entschieden, da diese genau so arbeitet wie ich es mir vorstelle!

Vielen Dank nochmals.

Gruß
André aus SH


  

Betrifft: AW: Zufallsbuchstaben/-zahlen von: Erich G.
Geschrieben am: 16.07.2008 19:49:54

Hallo André,
oder so - mit zufälligen Kleinbuchstaben:

Public Sub PerZufall2()
   Dim rZelle As Range

   Randomize

   For Each rZelle In Range("C12:D41")
      If rZelle.Value = "" Then _
         rZelle.Value = Chr(Int(26 * Rnd) + 97) _
            & Chr(Int(26 * Rnd) + 97) _
            & Chr(Int(26 * Rnd) + 97) _
            & Int(Rnd() * 800) + 100
   Next rZelle
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort