Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1296to1300
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zufallszahl ersetzen

Zufallszahl ersetzen
06.02.2013 22:42:33
Michael
Hallo zusammen, vielleicht kann mir ja einer von euch vielleicht helfen und zwar hätte ich gerne ein VBA Programm und die soll folgendes können. Es soll die Spalte A in Tabelle 3 auf doppelte Zahlen überprüft werden. Wenn eine doppelte Zahl gefunden ist, soll gefragt werden ob die Zahl durch eine Zufallszahl zwischen 1 und 100 ersetzt werden soll, danach soll die Überprüfung weiterlaufen, bis das
Ende der Liste erreicht ist.
was ich bisher geschafft habe ist dürftig bis schlecht und daher würde ich mich über eure Unterstützung/Hilfe freuen.
Option Explicit
Sub Aufgabe2()
Dim probe As Double               'Deklarierung der Variablen
Dim ausg As Double
Dim test As String
Dim k As Double
Dim n As Double
Dim i As Double
Dim hilf As String
i = 0
k = 1
n = 2
Do                              'Es wird i solange hochgezählt bis in der Spalte 1 bzw. A keine  _
Zahl mehr steht
test = Worksheets("Tabelle3").Cells(i + 1, 1).Value
i = i + 1
Loop Until test = ""
i = i - 1                       'von i wird 1 substrahiert, da vorher aus Funktionsgründen 1  _
addiert wurde
Do
test = Worksheets("Tabelle3").Cells(k, 1)
'Do
'probe = Worksheets("Tabelle3").Cells(n, 1)
'If probe = test Then
'hilf = MsgBox("Die Zahl " & Worksheets("Tabelle3").Cells(k, 1) & _
" kommt doppelt vor, soll sie durch eine Zufallszahl ersetzt werden? _
", vbYesNo)
' If hilf = 1 Then
'Worksheets("Tabelle3").Cells(n, 1) = Int(100 * (Rnd + 1))
'  Else
' MsgBox ("halter")
'End If
' End If
'n = n + 1
'Loop Until n = i
k = k + 1
Loop Until k = i + 1        'Wiederholung bis die Reihe bei der letzten Zahl angekommen ist
MsgBox (i & Chr(13) & n & Chr(13) & k & Chr(13) & test)
End Sub
LG Mich

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zufallszahl ersetzen
07.02.2013 03:10:23
Ass
Hallo,
...und was, wenn die Zufallszahl einer Zahl in der Spalte entspricht?
...und was, wenn zufällig die gleiche Zufallszahl 'gezogen' wird?
Dann hättest du wieder doppelte Zahlen.
Dann müsstest du die Prozedur wiederholen. Je nach dem welche Zahlen in der Spalte stehen, müsstest du die Prozedur sogar sehr oft wiederholen bis endlich keine Zahl mehr doppelt vorkommt, maximal 100 mal.
Gruß
Rudi

AW: Zufallszahl ersetzen
07.02.2013 09:55:07
Ass
Hallo, beginnt in Zeile 2:
Sub dopErsetzen()
Dim Spalte As String
Spalte = "A"
Dim objDict As Object, i As Long
Set objDict = CreateObject("Scripting.Dictionary")
With Sheets("Tabelle3")
For i = 2 To .Cells(2, Spalte).End(xlDown).Row
If Not objDict.exists(.Cells(i, Spalte).Value) Then
Call objDict.Add(.Cells(i, Spalte).Value, Empty)
Else
.Cells(i, Spalte) = Int(100 * (Rnd + 1))
i = i - 1
End If
Next
MsgBox objDict.Count & " sind unterschiedlich."
End With
End Sub

Gruß
Rudi

Anzeige
AW: Zufallszahl ersetzen
07.02.2013 10:03:04
michael
HAllo. Prima...
Und wie ist der Fall:
In der Tabelle 3 stehen in jeder Zeile nebeneinander 3 Zahlen. Nun brauche ich ein Programm das zunächst feststellt in wievielen Zeilen diese Zahlen vorhanden sind. Dann soll für jede Zeile überprüft werden ob die 3 Zahlen aufsteigend sortiert sind(kleinste zuerst und dann größte. Für eine solche Zeile soll in Spalte D der Buchstabe "A" eingetragen werden. Sind die drei Zahlen absteigend sortiert dann soll der Buchstabe "B" eingetragen werden. Das Programm soll ausserdem in einer Msgbox ausgeben, wie oft der Buchstabe A und wie oft der Buchstabe B eingetragen wurde?!
Ich verzweifel. Bitte um Hilfe
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige