Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Zufallswerte in Tabelle kopieren

VBA Zufallswerte in Tabelle kopieren
19.01.2017 21:22:48
Marcel
Hallo Excelfreunde,
habe da mal ein kleines Problem und zwar würde ich gerne
Zufallsnamen bzw. Werte mit hilfe folgender Formel,:

Set r = Range("A1:a10").SpecialCells(xlCellTypeConstants)
Range("A1:a10").ClearFormats
zufallsbereich = Int(Rnd() * r.Areas.Count) + 1
zufallszelle = Int(Rnd() * r.Areas(zufallsbereich).Cells.Count) + 1
r.Areas(zufallsbereich).Cells(zufallszelle).Activate

in eine bereits bestehende Tabelle kopieren.
Das würde ich dann mit folgendem Code machen:
With Worksheets("tbl_Kunden")
ActiveCell.Copy Destination:=.Cells(.Rows.Count, 1).End(xlUp).Offset(1)
End With

hier ist schon eins der Probleme vorhanden, denn der Wert bzw. Werte werden nicht direkt nach der Überschrift der Tabelle eingefügt sondern eine Zeile darunter.
Dann Würde ich gerne in der 2ten Spalte genau das gleiche machen also die werte direkt unter der Unterschrift in Splate 2 also "B" schreiben(.Rows.Count, 2) Spalte A Spalte B Überschrift Überschrift Name 1 Name 2 etc... Name 3 Name 4
Was mache ich da falsch?
Gruß
Marcel

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Zufallswerte in Tabelle kopieren
20.01.2017 13:06:40
Marcel
Hier mal eine das Beispiel als Datei:
Vielleicht habe mich ja etwas kompliziert ausgedrückt.
https://www.herber.de/bbs/user/110750.xlsm
Gruß
AW: VBA Zufallswerte in Tabelle kopieren
20.01.2017 16:16:23
ChrisL
Hi Marcel
Warum die letzte Zeile falsch ermittelt wird kann ich auch nicht genau sagen. Bei einer "normalen" Tabelle passiert dies nicht und ich habe es darum geändert resp. mit der bedingten Formatierung getrickst.
https://www.herber.de/bbs/user/110758.xlsm
Sub BeidesKombiniert()
With Worksheets("Tabelle1")
Call Zufall(.Range("A1:A10"), 1)
Call Zufall(.Range("B1:B10"), 2)
End With
End Sub

Sub Zufall(QuelleBereich As Range, ZielSpalte As Long)
Dim r As Range, zufallszelle As Integer, zufallsbereich As Integer, i As Integer
Dim loLetzte As Long
Application.ScreenUpdating = False
For i = 1 To 5
With QuelleBereich
Set r = .SpecialCells(xlCellTypeConstants)
.ClearFormats
End With
zufallsbereich = Int(Rnd() * r.Areas.Count) + 1
zufallszelle = Int(Rnd() * r.Areas(zufallsbereich).Cells.Count) + 1
r.Areas(zufallsbereich).Cells(zufallszelle).Copy
With Worksheets("tbl_Kunden")
loLetzte = .Cells(Rows.Count, ZielSpalte).End(xlUp).Row + 1
.Cells(loLetzte, ZielSpalte).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End With
Next i
Application.CutCopyMode = False
End Sub

cu
Chris
Anzeige

359 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige