Dear all,
I am happy to join for the first time this forum. Now here is a short explanation about my problem then I will ask.
I have Excel data with which there every column have a NAME.
I did a User form in this user form you can find alot of the parameters! i.e. the NAME and normally I dont need all the parameters,but only some!, so what I did is to call the user form and to click for every NAME or parameters that I need and the idea is :
to read what checked in the user form and then go to my Excel data , compare if it is the same then copy this column (from 3 to 93 cells) and then go to another sheet which is already created automatically! and then paste it there.
So people I tried to see in which method that I can do, but I couldnt do anything but this code :
Sub Auswerte_Programm()
Dim Zeilenzahl, Koeffizientenzahl, Gesamtgröße, GemischteKoeffizienten, m, n As Integer
Dim Steuerungswerte() As Integer
Dim Ansaetze(10), Satinageeinstellungen(20), untersuchte_Parameter(20) As Variant
' To read values from the User form
Ansaetze(1) = Eingabefenster.linear.Value
Ansaetze(2) = Eingabefenster.quadratisch.Value
Ansaetze(3) = Eingabefenster.kubisch.Value
Ansaetze(4) = Eingabefenster.exponentiell.Value
Ansaetze(5) = Eingabefenster.gemischt.Value
Satinageeinstellungen(1) = Eingabefenster.Temperatur.Value
Satinageeinstellungen(2) = Eingabefenster.Spannung.Value
Satinageeinstellungen(3) = Eingabefenster.Nipbreite.Value
Satinageeinstellungen(4) = Eingabefenster.Dichtevor.Value
Satinageeinstellungen(5) = Eingabefenster.Dickevor.Value
Satinageeinstellungen(6) = Eingabefenster.WWradius.Value
Satinageeinstellungen(7) = Eingabefenster.HWradius.Value
Satinageeinstellungen(8) = Eingabefenster.WWhärte.Value
Satinageeinstellungen(9 ) = Eingabefenster.Rauigkeit_der_Walzenoberfläche.Valu e
Satinageeinstellungen(10) = Eingabefenster.Rauigkeit_von_Papier.Value
Satinageeinstellungen(11) = Eingabefenster.Nullwerte.Value
untersuchte_Parameter(1) = Eingabefenster.Dichte.Value
untersuchte_Parameter(2) = Eingabefenster.Dicke.Value
untersuchte_Parameter(3) = Eingabefenster.Glanz.Value
untersuchte_Parameter(4) = Eingabefenster.Glätte.Value
untersuchte_Parameter(5) = Eingabefenster.Mottling.Value
untersuchte_Parameter(6) = Eingabefenster.Opazität.Value
untersuchte_Parameter(7) = Eingabefenster.Schwarzsatinage.Value
untersuchte_Parameter(8) = Eingabefenster.a_wert.Value
untersuchte_Parameter(9 ) = Eingabefenster.b_wert.Value
untersuchte_Parameter(10) = Eingabefenster.k_wert.Value
untersuchte_Parameter(11) = Eingabefenster.Y_wert.Value
untersuchte_Parameter(12) = Eingabefenster.S_wert.Value
untersuchte_Parameter(13) = Eingabefenster.L_wert.Value
' to count the selected
a = 0 'ansatz
s = 0 'satinageeinstellung
P = 0 'parameter
For i = 0 To 9
If Ansaetze(i) = True Then a = a + 1
If Satinageeinstellungen(i) = True Then s = s + 1
If Satinageeinstellungen(10 + i) = True Then s = s + 1
If untersuchte_Parameter(i) = True Then P = P + 1
If untersuchte_Parameter(10 + i) = True Then P = P + 1
Next i
' to calculate everything but not the mixed
Koeffizientenzahl = s * (-CInt(Ansaetze(1)) - CInt(Ansaetze(2)) - CInt(Ansaetze(3)) - CInt(Ansaetze(4)))
GemischteKoeffizienten = 0
For i = 1 To (Koeffizientenzahl - 1)
GemischteKoeffizienten = GemischteKoeffizienten + i
Next i
AnzahlDatensätze = Sheets.Count
ReDim Steuerungswerte(0, AnzahlDatensätze)
For j = 1 To AnzahlDatensätze * 2 Step 2
Sheets(j).Select
Name = Sheets(j).Name
Range("A3").Select
Zeilenzahl = Range(Selection, Selection.End(xlDown)).Count
Set NewSheet = Sheets.Add(Type:=xlWorksheet)
NewSheet.Name = "X-" & ((j + 1) / 2) & "-" & Name
NewSheet.Move after:=Sheets(j + 1)
Steuerungswerte(0, ((j + 1) / 2)) = Zeilenzahl
Sheets(((j + 1) / 2)).Select
ReDim MasterXMatrix(AnzahlDatensätze, (Koeffizientenzahl + GemischteKoeffizienten), Steuerungswerte(0, ((j + 1) / 2)))
ReDim MasterYVektor(AnzahlDatensätze, P, Steuerungswerte(0, ((j + 1) / 2)))
For i = 1 To Steuerungswerte(0, ((j + 1) / 2)) 'bis 90
For k = 1 To P
If k = 1 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 32).Value 'Dichte
If k = 2 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 29 ).Value 'Dicke
If k = 3 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 48).Value 'Glanz Tappi 75° vl
If k = 4 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 44).Value 'Glanz DIN 75° vl
If k = 5 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 40).Value 'Glanz DIN 45° vl
If k = 6 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 48).Value 'Glanz Tappi 75° vr
If k = 7 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 44).Value 'Glanz DIN 75° vr
If k = 8 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 40).Value 'Glanz DIN 45° vr
If k = 9 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 52).Value 'Glätte Oberseite
If k = 10 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 54).Value 'Glätte Siebseite
If k = 11 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 36).Value 'Mottling
If k = 12 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 38).Value 'Schwarzsatinage
'If k = 13 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 29 ).Value 'Opazität
'If k = 14 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 29 ).Value 'a-Wert
'If k = 15 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 29 ).Value 'b-Wert
'If k = 16 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 29 ).Value 'k-Wert
'If k = 17 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 29 ).Value 'Y-Wert
'If k = 18 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 29 ).Value 'S-Wert
'If k = 19 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 29 ).Value 'L-Wert
Next k
For k = 1 To Koeffizientenzahl
If untersuchte_Parameter(i) = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 0).Value 'Temp HW
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 1).Value 'Temp WW
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 5).Value 'Spannung
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 6).Value 'Nipbreite
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 7).Value 'E-Modul WW
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 31).Value 'Dichte vor
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 23).Value 'Dicke vor
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 9 ).Value 'Radius WW
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 8).Value 'Radius HW
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 10).Value 'Härte WW
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 11).Value 'Rauhigkeit Kontaktwalze
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 52).Value 'Rauhigkeit Papier
Next k
For k = 1 To GemischteKoeffizienten
'MasterXMatrix(((j + 1) / 2), Koeffizientenzahl+k, i) = MasterXMatrix(((j + 1) / 2), k, i)
Next k
Next i
Next j
Sub
And as I think I should compare from the user form due to EVENT code but HOW??? or any way it will be good.
Sorry that is too long but I wanted to clear it for you!
Thanks in advance
mcf22
I am happy to join for the first time this forum. Now here is a short explanation about my problem then I will ask.
I have Excel data with which there every column have a NAME.
I did a User form in this user form you can find alot of the parameters! i.e. the NAME and normally I dont need all the parameters,but only some!, so what I did is to call the user form and to click for every NAME or parameters that I need and the idea is :
to read what checked in the user form and then go to my Excel data , compare if it is the same then copy this column (from 3 to 93 cells) and then go to another sheet which is already created automatically! and then paste it there.
So people I tried to see in which method that I can do, but I couldnt do anything but this code :
Sub Auswerte_Programm()
Dim Zeilenzahl, Koeffizientenzahl, Gesamtgröße, GemischteKoeffizienten, m, n As Integer
Dim Steuerungswerte() As Integer
Dim Ansaetze(10), Satinageeinstellungen(20), untersuchte_Parameter(20) As Variant
' To read values from the User form
Ansaetze(1) = Eingabefenster.linear.Value
Ansaetze(2) = Eingabefenster.quadratisch.Value
Ansaetze(3) = Eingabefenster.kubisch.Value
Ansaetze(4) = Eingabefenster.exponentiell.Value
Ansaetze(5) = Eingabefenster.gemischt.Value
Satinageeinstellungen(1) = Eingabefenster.Temperatur.Value
Satinageeinstellungen(2) = Eingabefenster.Spannung.Value
Satinageeinstellungen(3) = Eingabefenster.Nipbreite.Value
Satinageeinstellungen(4) = Eingabefenster.Dichtevor.Value
Satinageeinstellungen(5) = Eingabefenster.Dickevor.Value
Satinageeinstellungen(6) = Eingabefenster.WWradius.Value
Satinageeinstellungen(7) = Eingabefenster.HWradius.Value
Satinageeinstellungen(8) = Eingabefenster.WWhärte.Value
Satinageeinstellungen(9 ) = Eingabefenster.Rauigkeit_der_Walzenoberfläche.Valu e
Satinageeinstellungen(10) = Eingabefenster.Rauigkeit_von_Papier.Value
Satinageeinstellungen(11) = Eingabefenster.Nullwerte.Value
untersuchte_Parameter(1) = Eingabefenster.Dichte.Value
untersuchte_Parameter(2) = Eingabefenster.Dicke.Value
untersuchte_Parameter(3) = Eingabefenster.Glanz.Value
untersuchte_Parameter(4) = Eingabefenster.Glätte.Value
untersuchte_Parameter(5) = Eingabefenster.Mottling.Value
untersuchte_Parameter(6) = Eingabefenster.Opazität.Value
untersuchte_Parameter(7) = Eingabefenster.Schwarzsatinage.Value
untersuchte_Parameter(8) = Eingabefenster.a_wert.Value
untersuchte_Parameter(9 ) = Eingabefenster.b_wert.Value
untersuchte_Parameter(10) = Eingabefenster.k_wert.Value
untersuchte_Parameter(11) = Eingabefenster.Y_wert.Value
untersuchte_Parameter(12) = Eingabefenster.S_wert.Value
untersuchte_Parameter(13) = Eingabefenster.L_wert.Value
' to count the selected
a = 0 'ansatz
s = 0 'satinageeinstellung
P = 0 'parameter
For i = 0 To 9
If Ansaetze(i) = True Then a = a + 1
If Satinageeinstellungen(i) = True Then s = s + 1
If Satinageeinstellungen(10 + i) = True Then s = s + 1
If untersuchte_Parameter(i) = True Then P = P + 1
If untersuchte_Parameter(10 + i) = True Then P = P + 1
Next i
' to calculate everything but not the mixed
Koeffizientenzahl = s * (-CInt(Ansaetze(1)) - CInt(Ansaetze(2)) - CInt(Ansaetze(3)) - CInt(Ansaetze(4)))
GemischteKoeffizienten = 0
For i = 1 To (Koeffizientenzahl - 1)
GemischteKoeffizienten = GemischteKoeffizienten + i
Next i
AnzahlDatensätze = Sheets.Count
ReDim Steuerungswerte(0, AnzahlDatensätze)
For j = 1 To AnzahlDatensätze * 2 Step 2
Sheets(j).Select
Name = Sheets(j).Name
Range("A3").Select
Zeilenzahl = Range(Selection, Selection.End(xlDown)).Count
Set NewSheet = Sheets.Add(Type:=xlWorksheet)
NewSheet.Name = "X-" & ((j + 1) / 2) & "-" & Name
NewSheet.Move after:=Sheets(j + 1)
Steuerungswerte(0, ((j + 1) / 2)) = Zeilenzahl
Sheets(((j + 1) / 2)).Select
ReDim MasterXMatrix(AnzahlDatensätze, (Koeffizientenzahl + GemischteKoeffizienten), Steuerungswerte(0, ((j + 1) / 2)))
ReDim MasterYVektor(AnzahlDatensätze, P, Steuerungswerte(0, ((j + 1) / 2)))
For i = 1 To Steuerungswerte(0, ((j + 1) / 2)) 'bis 90
For k = 1 To P
If k = 1 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 32).Value 'Dichte
If k = 2 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 29 ).Value 'Dicke
If k = 3 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 48).Value 'Glanz Tappi 75° vl
If k = 4 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 44).Value 'Glanz DIN 75° vl
If k = 5 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 40).Value 'Glanz DIN 45° vl
If k = 6 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 48).Value 'Glanz Tappi 75° vr
If k = 7 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 44).Value 'Glanz DIN 75° vr
If k = 8 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 40).Value 'Glanz DIN 45° vr
If k = 9 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 52).Value 'Glätte Oberseite
If k = 10 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 54).Value 'Glätte Siebseite
If k = 11 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 36).Value 'Mottling
If k = 12 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 38).Value 'Schwarzsatinage
'If k = 13 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 29 ).Value 'Opazität
'If k = 14 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 29 ).Value 'a-Wert
'If k = 15 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 29 ).Value 'b-Wert
'If k = 16 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 29 ).Value 'k-Wert
'If k = 17 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 29 ).Value 'Y-Wert
'If k = 18 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 29 ).Value 'S-Wert
'If k = 19 Then MasterYVektor(((j + 1) / 2), k, i) = ActiveCell.Offset(i - 1, 29 ).Value 'L-Wert
Next k
For k = 1 To Koeffizientenzahl
If untersuchte_Parameter(i) = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 0).Value 'Temp HW
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 1).Value 'Temp WW
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 5).Value 'Spannung
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 6).Value 'Nipbreite
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 7).Value 'E-Modul WW
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 31).Value 'Dichte vor
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 23).Value 'Dicke vor
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 9 ).Value 'Radius WW
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 8).Value 'Radius HW
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 10).Value 'Härte WW
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 11).Value 'Rauhigkeit Kontaktwalze
If k = 1 Then MasterXMatrix(((j + 1) / 2), k, i) = ActiveCell.Offset(i, 52).Value 'Rauhigkeit Papier
Next k
For k = 1 To GemischteKoeffizienten
'MasterXMatrix(((j + 1) / 2), Koeffizientenzahl+k, i) = MasterXMatrix(((j + 1) / 2), k, i)
Next k
Next i
Next j
Sub
And as I think I should compare from the user form due to EVENT code but HOW??? or any way it will be good.
Sorry that is too long but I wanted to clear it for you!
Thanks in advance
mcf22