Thema Datum  Von Nutzer Rating
Antwort
Rot VBA Code in nächster Spalte verwenden
15.03.2017 21:32:34 Daniel
NotSolved
16.03.2017 04:42:39 Kai
NotSolved
16.03.2017 17:36:22 Daniel
NotSolved
16.03.2017 19:15:08 Werner
NotSolved
17.03.2017 05:34:36 Kai
NotSolved
17.03.2017 18:35:06 Daniel
NotSolved

Ansicht des Beitrags:
Von:
Daniel
Datum:
15.03.2017 21:32:34
Views:
1190
Rating: Antwort:
  Ja
Thema:
VBA Code in nächster Spalte verwenden

Hallo zusammen,

ich probiere mich gerade an einem VBA-Programm zur Berechnung von Fähigkeitskennwerten. In den Zellen A1 bis A13 stehen nur Bennenungen. In meinem Fall kann der User nun in den Zellen B1-B4 Werte eintragen, wobei B2-B4 berechnungsrelevant sind => berechnete Werte werden bis jetzt in den Zellen B5-B13 ausgegeben. Ab der Zelle B15 erfolgt eine weitere Dateneingabe von unbegrenzt vielen Werten.

Folgende Sub habe ich bereits erstellt:

 

'Private Sub Worksheet_SelectionChange(ByVal Target As Range)


Private Sub xyz()

Dim Spalte As Long
Dim lngEZ As Long
Dim lngLZ As Long
Dim dblOG As Double
Dim dblUG As Double
Dim dblMittelwert As Double
Dim dblStandardabweichung As Double
Dim dblMaximal As Double
Dim dblMinimal As Double
Dim dblSpannweite As Double
Dim dblcm As Double
Dim dblcmo As Double
Dim dblcmu As Double
Dim dblcmk As Double

Spalte = 2

   
'Leerzelle in Spalte B finden
    lngEZ = Cells(10, Spalte).End(xlDown).Row + 2
    lngLZ = Cells(Rows.Count, Spalte).End(xlUp).Row
    
'Berechnung der Variablen
    dblOG = Cells(3, Spalte).Value
    dblUG = Cells(4, Spalte).Value
    dblMittelwert = Application.Average(Range(Cells(lngEZ, Spalte), Cells(lngLZ, Spalte)))
    dblStandardabweichung = Application.StDev(Range(Cells(lngEZ, Spalte), Cells(lngLZ, Spalte))) _
 _
 _

    dblMaximal = Application.max(Range(Cells(lngEZ, Spalte), Cells(lngLZ, Spalte)))
    dblMinimal = Application.min(Range(Cells(lngEZ, Spalte), Cells(lngLZ, Spalte)))
    dblSpannweite = dblMaximal - dblMinimal
    dblcm = ((dblOG - dblUG) / (6 * dblStandardabweichung))
    dblcmo = ((dblOG - dblMittelwert) / (3 * dblStandardabweichung))
    dblcmu = ((dblMittelwert - dblUG) / (3 * dblStandardabweichung))
    dblcmk = Application.min(dblcmo, dblcmu)
    
    
'In in schreiben der Variablen
    Cells(5, Spalte).Value = dblMittelwert
    Cells(6, Spalte).Value = dblStandardabweichung
    Cells(7, Spalte).Value = dblMaximal
    Cells(8, Spalte).Value = dblMinimal
    Cells(9, Spalte).Value = dblSpannweite
    Cells(10, Spalte).Value = dblcm
    Cells(11, Spalte).Value = dblcmk
    
    


End Sub


 


Nun zu meinem Problem:
Ich habe eine Schaltfläche erstellt die aktuell über dem Bereich C1-C13 liegt. Bei Betätigung der Schaltfläche soll nun folgendes passieren: der Code oben soll nun auch für die Spalte C gelten (gleichzeitig aber auch in B bestehen bleiben) und die Schaltfläche in den Bereich D1- D13 "weiterrücken". Bei erneuter Betätigung soll das ganze wieder "um eine Spalte erweitert werden" usw... So lange bis der User genug Spalten zur Verfügung hat, wie er benötigt.

 

Ich hoffe ihr versteht was ich machen will und könnt mir weiterhelfen :D

 

Danke und Gruß


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 VBA Code in nächster Spalte verwenden
15.03.2017 21:32:34 Daniel
NotSolved
16.03.2017 04:42:39 Kai
NotSolved
16.03.2017 17:36:22 Daniel
NotSolved
16.03.2017 19:15:08 Werner
NotSolved
17.03.2017 05:34:36 Kai
NotSolved
17.03.2017 18:35:06 Daniel
NotSolved