VBA Bingo Machine
#31
hallo habe jetzt ein problem habe die zahlen umgetauscht jetzt geht es nicht mehr zum löschen?
mfg
sevencloves


Angehängte Dateien
.xlsm   Reihen mit Zahlen vergleichen Neu(1).xlsm (Größe: 629,55 KB / Downloads: 4)
Top
#32
Hallo

bitte dieses kleine Makro im Modul2 auswechseln.  Ich habe Zahl as Long durch - Wert As Variant ersetzt!  Warum??
Eine echte Zahl ist eine Zahl.  Zahlen mit Punkt versteht Excel als Text.  Dann  kommt Laufzeitfehler!  So sollte es jetzt klappen.

mfg  Gast 123

Code:
Sub Wert_suchen_und_löschen()
Dim Wert As Variant
Application.ScreenUpdating = False
   On Error GoTo Fehler
   Wert = Range("C2")
   Range("C2") = Empty
   If Wert = Empty Then MsgBox "Zelle C2 ist leer!": Exit Sub
   
   'Wert in Spalte A suchen
   Columns("A:A").Find(What:=Wert, After:=Cells(1, 1), LookIn:=xlValues, _
      LookAt:=xlWhole, SearchDirection:=xlNext, MatchCase:=False).Activate
   
   'gefundene Zelle löschen
   ActiveCell.Delete shift:=xlUp
   Range("C2").Select
Exit Sub

Fehler:  MsgBox Wert & " Wert nicht gefunden!"
End Sub
Top
#33
hallo jetzt kommt bei modul 3 fehler
Top
#34
Hallo

ja ja, die bösen kleinen Flüchtigkeitsfehler!  Wenn man per Suchlauf die Variable Zahl in Wert umwandelt, und übersieht das auch der Makro Name in "Wert_"  geaendert wurde.  Bitte im Modul2 wieder so angeben:   Sub Zahl_suchen_und_löschen()

mfg  Gast 123
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • sevencloves
Top
#35
prima jetzt ist alles in Ordnung.
vielen dank nochmal
mfg
sevencloves
Top
#36
Bei dem Macro ziehen ist fehler der zieht immer die gleichen ich habe von 70 Zahlen einen Test gemacht zum schluss sollten 10 Zahlen übrig bleiben waren die selbe zahlen und bei dem grossen Zahlen habe ich notier was er zog und beim nächstenmal hat er die selben gezogen?
mfg
sevencloves
Top
#37
(02.01.2019, 23:07)Gast 123 schrieb: Hallo

ja ja, die bösen kleinen Flüchtigkeitsfehler!  Wenn man per Suchlauf die Variable Zahl in Wert umwandelt, und übersieht das auch der Makro Name in "Wert_"  geaendert wurde.  Bitte im Modul2 wieder so angeben:   Sub Zahl_suchen_und_löschen()

mfg  Gast 123

Bei dem Macro ziehen ist fehler der zieht immer die gleichen ich habe von 70 Zahlen einen Test gemacht zum schluss sollten 10 Zahlen übrig bleiben waren die selbe zahlen und bei dem grossen Zahlen habe ich notier was er zog und beim nächstenmal hat er die selben gezogen?
mfg
sevencloves
Top
#38
Hi

Bei Zufallszahlen mit VBA sollte noch die (randomize -Anweisung) verarbeitet werden.

In der Excelhilfe mal nach "randomize" suchen. Dort findest du ein fertiges Beispiel.

Gruß Elex
Top
#39
(04.01.2019, 12:07)Elex schrieb: Hi

Bei Zufallszahlen mit VBA sollte noch die (randomize -Anweisung) verarbeitet werden.

In der Excelhilfe mal nach "randomize" suchen. Dort findest du ein fertiges Beispiel.

Gruß Elex

Code:
Option Explicit      '27.12.2018  für Clever Forum


'Die Zahlenreiehe in A kann beliebig lang sein!!

'Zufallszahl ohne Wiederholung

Sub Zufallzahl_ziehen()
Dim Zahl, x As Long, lz1 As Long
lz1 = Cells(Rows.Count, 1).End(xlUp).Row

neu:  x = Int((lz1 * Rnd) + 1)
Range("C2").Value = Cells(x, 1).Value
End Sub



'Zufallszahl mit Wiederholung bei Anf-Zahlen  "10/10"

Sub Zufallzahl_ziehen_wdh()
Dim Zahl, x As Long, lz1 As Long
lz1 = Cells(Rows.Count, 1).End(xlUp).Row

neu:  x = Int((lz1 * Rnd) + 1)
Zahl = Int(Left(Cells(x, 1), 2))

If Range("D2") = "wdh" Then _
If Zahl = Range("D1") Then GoTo neu

Range("C2").Value = Cells(x, 1).Value
Range("D1") = Left(Cells(x, 1), 2)
End Sub


wo bitte  ändern?
Top
#40
Versuch es so.


Code:
Option Explicit      '27.12.2018  für Clever Forum


'Die Zahlenreiehe in A kann beliebig lang sein!!

'Zufallszahl ohne Wiederholung

Sub Zufallzahl_ziehen()
Dim Zahl, x As Long, lz1 As Long
lz1 = Cells(Rows.Count, 1).End(xlUp).Row
Randomize
neu:  x = Int((lz1 * Rnd) + 1)
Range("C2").Value = Cells(x, 1).Value
End Sub



'Zufallszahl mit Wiederholung bei Anf-Zahlen  "10/10"

Sub Zufallzahl_ziehen_wdh()
Dim Zahl, x As Long, lz1 As Long
lz1 = Cells(Rows.Count, 1).End(xlUp).Row
Randomize
neu:  x = Int((lz1 * Rnd) + 1)
Zahl = Int(Left(Cells(x, 1), 2))

If Range("D2") = "wdh" Then _
If Zahl = Range("D1") Then GoTo neu

Range("C2").Value = Cells(x, 1).Value
Range("D1") = Left(Cells(x, 1), 2)
End Sub
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste