| 
                              
                                  Thema
                              
                           | 
                          
                              
                                  Datum 
                           | 
                          
                              
                                  Von Nutzer
                           | 
                          
                              
                                  Rating
                           | 
                          
                               
                                  Antwort 
                           | 
                      
                      
  Laufzeitfehler 1004: Conways Game of life   | 
15.12.2016 16:59:03 | 
LBE | 
 | 
 | 
 | 
15.12.2016 17:30:34 | 
Gast65396 | 
 | 
 | 
 | 
15.12.2016 17:55:11 | 
Gast75581 | 
 | 
 | 
 | 
15.12.2016 17:42:02 | 
GraFri | 
 | 
 | 
                  
    
                    
             
								 
									
										Von: 
                                            LBE | 
										Datum: 
                                            15.12.2016 16:59:03 | 
										Views:
                                             
                                            1367 | 
										Rating:
                                                                          | 
										Antwort: 
                                             
                                             
                                             | 
									
									
										Thema:
                                             
                                            Laufzeitfehler 1004: Conways Game of life  | 
									
									
										 
                                            
Moin Moin,
ich bin auf das "Game of Life" von Conway gestoßen und wollte dieses gerne in EXCEL mittels VBA nachbauen. Bisher habe ich den Code im Anhang geschrieben.
Mein derzeitiges Problem ist der Laufzeitfehler 1004. Wenn ich in der Sub ScreenCells die Funktion CountNeighbours aufrufe, bekomme ich diesen Fehler.
Ich kann leider nicht herausfinden woran dieses genau liegt. Wenn ich in der Sub ScreenCells der Variable intNeighbours einen Integer zuweise, dann funktioniert es wie es soll.
Was ist mein Fehler?
Danke vielmals!
VG
LBE
Option Explicit
Sub Life()
  'Dim Test As Integer
  'Test = CountNeighbours(Range("B4"))
  'MsgBox (Test)
  Call ScreenCells
End Sub
Function CountNeighbours(rZelle As Range) As Integer
  Dim iCounter As Integer
  iCounter = 0
  
  If (rZelle.Offset(-1, -1).Interior.ColorIndex = 1) Then ' Nachbar oben links
    iCounter = iCounter + 1
  End If
    
  If (rZelle.Offset(-1, 0).Interior.ColorIndex = 1) Then ' Nachbar oben
    iCounter = iCounter + 1
  End If
  If (rZelle.Offset(-1, 1).Interior.ColorIndex = 1) Then  ' Nachbar oben rechts
    iCounter = iCounter + 1
  End If
  If (rZelle.Offset(0, -1).Interior.ColorIndex = 1) Then 'Nachbar links
    iCounter = iCounter + 1
  End If
  If (rZelle.Offset(0, 1).Interior.ColorIndex = 1) Then  'Nachbar rechts
    iCounter = iCounter + 1
  End If
  If (rZelle.Offset(1, 0).Interior.ColorIndex = 1) Then 'Nachbar unten links
    iCounter = iCounter + 1
  End If
  If (rZelle.Offset(-1, -1).Interior.ColorIndex = 1) Then 'Nachbar unten
    iCounter = iCounter + 1
  End If
  If (rZelle.Offset(-1, -1).Interior.ColorIndex = 1) Then  'Nachbar unten rechts
    iCounter = iCounter + 1
  End If
  CountNeighbours = iCounter
  
End Function
Sub ScreenCells()
  Dim Zelle As Object
  Dim intNachbarn As Integer
  
  For Each Zelle In Worksheets(1).Range("A1:Z22")
    intNachbarn = CountNeighbours(Zelle)
    ' Lebende Zelle <2 oder >3 stirbt nächste Runde
    If (((intNachbarn < 2) Or (intNachbarn > 3)) And (Zelle.Interior.ColorIndex = 1)) Then
      Worksheets(2).Cells(Zelle.Row, Zelle.Column).Interior.ColorIndex = 2
    End If
    ' Lebende Zelle lebt weiter bei Nachbarn =2 oder = 3
    If (((intNachbarn = 2) Or (intNachbarn = 3)) And (Zelle.Interior.ColorIndex = 1)) Then
      Worksheets(2).Cells(Zelle.Row, Zelle.Column).Interior.ColorIndex = 1
    End If
    ' Tote Zelle werden bei Nachbarn = 3 naechste Gen lebendig
    If (intNachbarn = 3 And Zelle.Interior.ColorIndex = 2) Then
      Worksheets(2).Cells(Zelle.Row, Zelle.Column).Interior.ColorIndex = 1
    End If
    
  Next
End Sub
	  
     | 
									
								
							
 					
		   
 
                          
                        
                                
                    - Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
 
                                        - Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
 
                        - Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
 
                        - Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
 
                        - Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei 
    Antworten auf Ihren Beitrag zu benachrichtigen
 
                                    
                            
                             
                          
	
                         
                                  
                             
                             Bitte geben Sie ein aussagekräftiges Thema an. 
                            
                            Bitte geben Sie eine gültige Email Adresse ein!
                            
                            
                       
                                - Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
 
                                        - Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
 
                        - Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
 
                        - Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
 
                        - Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei 
    Antworten auf Ihren Beitrag zu benachrichtigen
 
                                    
                        
                            
                        
                         
                                                  
 
                                       
                            
                      
                          | 
                              
                                  Thema                               
                           | 
                          
                              
                                  Datum 
                           | 
                          
                              
                                  Von Nutzer
                           | 
                          
                              
                                  Rating
                           | 
                          
                               
                                  Antwort 
                           | 
                      
                      
  Laufzeitfehler 1004: Conways Game of life   | 
15.12.2016 16:59:03 | 
LBE | 
 | 
 | 
 | 
15.12.2016 17:30:34 | 
Gast65396 | 
 | 
 | 
 | 
15.12.2016 17:55:11 | 
Gast75581 | 
 | 
 | 
 | 
15.12.2016 17:42:02 | 
GraFri | 
 | 
 |