Thema Datum  Von Nutzer Rating
Antwort
Rot Funktion
08.10.2018 22:07:45 ahnungsloser
NotSolved
08.10.2018 22:19:23 Gast41109
NotSolved

Ansicht des Beitrags:
Von:
ahnungsloser
Datum:
08.10.2018 22:07:45
Views:
807
Rating: Antwort:
  Ja
Thema:
Funktion

Hallo alle

Ich habe eine längere Aufgabe zu programmieren und der Code wird langsam sehr unübersichtlich. Da bin ich auf die Idee gekommen, den Code in Teilbereiche

aufzuteilen und Funktionen daraus zu machen. Nun scheitere ich dabei kläglich.

Ich poste hier mal den Code, welcher ich in eine Fkt verpacken und im Hauptcode wieder aufrufen will. Es handelt sich um eine Distanz, die in der Zelle(1,6)

eingegben wird und in x gleich lange Teilstrecken, die maximal 0.3m lang sind, unterteilt werden soll. Anschliessend sollen die Werte der Unterteilungen (Kolonne 2) und die Anzahl der Unterteilungen (Kolonne 1) aufgelistet werden. Ebenfalls weiss ich nicht, wie dann die Fkt im Hauptcode aufgerufen wird.

Ich bin mir auch nicht sicher, ob eien Fkt das richtige Werkzeug dazu ist oder soll ich besser Module verwenden.

Ich danke schon mal allen, die sich um eine Antwort bemühen.

Sub Knoten()

Dim x As Double
Dim y As Integer
Dim a As Double
Dim b As Integer
Dim c As Double
Dim d As Double
Dim zelle As Integer
Dim safety As Long

a = Cells(1, 6)
b = a / 0.3
c = a / b
d = Cells(2, 6) + Cells(3, 6)
  x = 0
  y = 0
  zelle = 2
  safety = 0
 
    Do
      x = x + c
      y = y + 1
      
      Cells(zelle, 1).Value = y
      Cells(zelle, 2).Value = x
      Cells(zelle, 3).Value = 0
      Cells(zelle, 4).Value = 0
      zelle = zelle + 1
      
      safety = safety + 1
      
      If safety > 100 Then
      
        MsgBox "Vermutlich Endlosschleife"
        Exit Do
      End If
    Loop Until x > a - c
      
    
End Sub

 

Hier mein Ansatz für die Fkt.

 

 

Function Knoten(x As Double, y As Integer, a As Double, _
b As Integer, c As Double, d As Double, zelle As Integer, _
safety As Long) As Double


a = Cells(1, 6)
b = a / 0.3
c = a / b
d = Cells(2, 6) + Cells(3, 6)
  x = 0
  y = 0
  zelle = 2
  safety = 0
 
    Do
      x = x + c
      y = y + 1
      
      Cells(zelle, 1).Value = y
      Cells(zelle, 2).Value = x
      Cells(zelle, 3).Value = 0
      Cells(zelle, 4).Value = 0
      zelle = zelle + 1
      
      safety = safety + 1
      
      If safety > 100 Then
      
        MsgBox "Vermutlich Endlosschleife"
        Exit Do
      End If
    Loop Until x > a - c
      
    
End Function

 


Ihre Antwort
  • 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: Name: Email:

 
 

  • 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
Rot Funktion
08.10.2018 22:07:45 ahnungsloser
NotSolved
08.10.2018 22:19:23 Gast41109
NotSolved