Help with code & some explanation

markusreyes2907

New Member
Joined
Jul 14, 2020
Messages
34
Office Version
  1. 2013
Platform
  1. Windows
I am trying to create a code that builds tables based on user input from input boxes. I have most of it down, and thanks to asking a question a few days ago, I am well on my way to having my code complete. I am however, having an issue that I would like some help solving. In the attached image you can see after the Temperature table, there is a table for Mean, Std Dev, Min and Max. I need to recreate this table next to all the other tables that I have built into the code. The next table is for Dissolved Oxygen, (labeled DO), and after tables for pH, Hardness, Alkalinity, and Conductivity. I have tired to create code to replicate the "Means" table, but I can't figure out how to get it so position correctly based on the different values given by the user in the beginning. Below is the code I have so far. If you do provide code that would help me solve my issue, I would also appreciate some explanation so that I can understand how to solve an issue like this in the future. Thanks!

VBA Code:
Dim reps As Long, i As Long, trtmnt As Long, j As Long, Rws As Long
On Error Resume Next
reps = InputBox("Number of reps", "Enter Here")
trtmnt = InputBox("Number of total treatment groups", "Enter Here")
Rws = 6

For i = 1 To trtmnt
   Range("A" & Rws).Value = i
   For j = 1 To reps
      Range("B" & Rws) = " "
        Rws = Rws + 1
            Next j
   Rws = Rws + 1
Next i


With Range("B4:C4")
    .Merge
    .Value = "Day of Test"
    .Borders(xlEdgeBottom).LineStyle = xlContinuous
End With

Dim numdays As Integer, k As Integer
numdays = InputBox("Number of study days", "Enter Here")

For k = 0 To numdays
    With Range("C5").Cells(1, k)
    .Value = k
    .Borders(xlEdgeBottom).LineStyle = xlContinuous
    .Borders(xlEdgeTop).LineStyle = xlContinuous
    End With
Next k

Dim Rws2 As Long
    Rws2 = 5
    Range("A" & 5).Cells.Offset(0, k + 2).Value = "Treatment"
    For i = 1 To trtmnt
    Range("A" & Rws2).Cells.Offset(1, k + 2).Value = i
    Rws2 = Rws2 + 1
    Next i
    Range("A" & 5).Cells.Offset(0, k + 2).Borders(xlEdgeBottom).LineStyle = xlContinuous
    Range("A" & 5).Cells.Offset(0, k + 3).Value = "Mean"
    Range("A" & 5).Cells.Offset(0, k + 3).Borders(xlEdgeBottom).LineStyle = xlContinuous
    Range("A" & 5).Cells.Offset(0, k + 4).Value = "Std Dev"
    Range("A" & 5).Cells.Offset(0, k + 4).Borders(xlEdgeBottom).LineStyle = xlContinuous
    Range("A" & 5).Cells.Offset(0, k + 5).Value = "Min"
    Range("A" & 5).Cells.Offset(0, k + 5).Borders(xlEdgeBottom).LineStyle = xlContinuous
    Range("A" & 5).Cells.Offset(0, k + 6).Value = "Max"
    Range("A" & 5).Cells.Offset(0, k + 6).Borders(xlEdgeBottom).LineStyle = xlContinuous
        
    
Dim Rws3 As Long
  Rws3 = 4
    Range("A" & 5).Cells.Offset(0, k + 8).Value = "Treatment"
    For i = 1 To trtmnt
    Range("A" & Rws3).Cells.Offset(2, k + 8).Value = i
    Rws3 = Rws3 + 1
    For j = 1 To reps
      Range("B" & Rws3) = " "
                 Next j
   Rws3 = Rws3 + 2
    Next i
    Range("A" & 5).Cells.Offset(0, k + 8).Borders(xlEdgeTop).LineStyle = xlDouble
    Range("A" & 5).Cells.Offset(0, k + 8).Borders(xlEdgeBottom).LineStyle = xlDouble
    Range("A" & 5).Cells.Offset(0, k + 9).Value = "Temp"
    Range("A" & 5).Cells.Offset(0, k + 9).Borders(xlEdgeTop).LineStyle = xlDouble
    Range("A" & 5).Cells.Offset(0, k + 9).Borders(xlEdgeBottom).LineStyle = xlDouble
    Range("A" & 5).Cells.Offset(0, k + 10).Value = "DO"
    Range("A" & 5).Cells.Offset(0, k + 10).Borders(xlEdgeTop).LineStyle = xlDouble
    Range("A" & 5).Cells.Offset(0, k + 10).Borders(xlEdgeBottom).LineStyle = xlDouble
    Range("A" & 5).Cells.Offset(0, k + 11).Value = "pH"
    Range("A" & 5).Cells.Offset(0, k + 11).Borders(xlEdgeTop).LineStyle = xlDouble
    Range("A" & 5).Cells.Offset(0, k + 11).Borders(xlEdgeBottom).LineStyle = xlDouble
    Range("A" & 5).Cells.Offset(0, k + 12).Value = "Hardness"
    Range("A" & 5).Cells.Offset(0, k + 12).Borders(xlEdgeTop).LineStyle = xlDouble
    Range("A" & 5).Cells.Offset(0, k + 12).Borders(xlEdgeBottom).LineStyle = xlDouble
    Range("A" & 5).Cells.Offset(0, k + 13).Value = "Alkalinity"
    Range("A" & 5).Cells.Offset(0, k + 13).Borders(xlEdgeTop).LineStyle = xlDouble
    Range("A" & 5).Cells.Offset(0, k + 13).Borders(xlEdgeBottom).LineStyle = xlDouble
    Range("A" & 5).Cells.Offset(0, k + 13).Value = "Conductivity"
    Range("A" & 5).Cells.Offset(0, k + 13).Borders(xlEdgeTop).LineStyle = xlDouble
    Range("A" & 5).Cells.Offset(0, k + 13).Borders(xlEdgeBottom).LineStyle = xlDouble



  Range("A" & Rws).Cells.Offset(2, 0).Value = "DO"
  Range("A" & Rws).Cells.Offset(2, 0).Font.Bold = True
  
  Range("A" & Rws).Cells.Offset(4, 0).Value = "Treatment"
  Range("A" & Rws).Cells.Offset(4, 0).Borders(xlEdgeBottom).LineStyle = xlContinuous
  Range("A" & Rws).Cells.Offset(3, 1).Value = "Day of Test"
For k = 0 To numdays
  With Range("A" & Rws).Cells.Offset(4, k + 1)
  .Value = k
  .Borders(xlEdgeBottom).LineStyle = xlContinuous
  .Borders(xlEdgeTop).LineStyle = xlContinuous
  End With
Next k
For i = 1 To trtmnt
  Range("A" & Rws).Cells.Offset(5, 0).Value = i
  For j = 1 To reps
    Range("B" & Rws).Cells.Offset(5, 0).Value = " "
        Rws = Rws + 1
    Next j
  Rws = Rws + 1
Next i
 
    
Range("A" & Rws).Cells.Offset(7, 0).Value = "pH"
  Range("A" & Rws).Cells.Offset(7, 0).Font.Bold = True
  
  Range("A" & Rws).Cells.Offset(9, 0).Value = "Treatment"
  Range("A" & Rws).Cells.Offset(9, 0).Borders(xlEdgeBottom).LineStyle = xlContinuous
  Range("A" & Rws).Cells.Offset(8, 1).Value = "Day of Test"
  For k = 0 To numdays
  With Range("A" & Rws).Cells.Offset(9, k + 1)
  .Value = k
  .Borders(xlEdgeBottom).LineStyle = xlContinuous
  .Borders(xlEdgeTop).LineStyle = xlContinuous
  End With
Next k
   
For i = 1 To trtmnt
  Range("A" & Rws).Cells.Offset(10, 0).Value = i
  For j = 1 To reps
    Range("B" & Rws).Cells.Offset(10, 0).Value = " "
        Rws = Rws + 1
    Next j
  Rws = Rws + 1
Next i

Range("A" & Rws).Cells.Offset(12, 0).Value = "Hardness"
  Range("A" & Rws).Cells.Offset(12, 0).Font.Bold = True
  
  Range("A" & Rws).Cells.Offset(14, 0).Value = "Treatment"
  Range("A" & Rws).Cells.Offset(13, 0).Borders(xlEdgeBottom).LineStyle = xlContinuous
  Range("A" & Rws).Cells.Offset(13, 1).Value = "Day of Test"
For k = 0 To numdays
  With Range("A" & Rws).Cells.Offset(14, k + 1)
  .Value = k
  .Borders(xlEdgeBottom).LineStyle = xlContinuous
  .Borders(xlEdgeTop).LineStyle = xlContinuous
  End With
Next k
  Range("A" & Rws).Cells.Offset(15, 0).Value = "NC"
  Range("A" & Rws).Cells.Offset(16, 0).Value = "High"
  
Range("A" & Rws).Cells.Offset(19, 0).Value = "Alkalinity"
  Range("A" & Rws).Cells.Offset(19, 0).Font.Bold = True
  
  Range("A" & Rws).Cells.Offset(21, 0).Value = "Treatment"
  Range("A" & Rws).Cells.Offset(20, 0).Borders(xlEdgeBottom).LineStyle = xlContinuous
  Range("A" & Rws).Cells.Offset(20, 1).Value = "Day of Test"
For k = 0 To numdays
  With Range("A" & Rws).Cells.Offset(21, k + 1)
  .Value = k
  .Borders(xlEdgeBottom).LineStyle = xlContinuous
  .Borders(xlEdgeTop).LineStyle = xlContinuous
  End With
Next k
  Range("A" & Rws).Cells.Offset(22, 0).Value = "NC"
  Range("A" & Rws).Cells.Offset(23, 0).Value = "High"
  
Range("A" & Rws).Cells.Offset(26, 0).Value = "Conductivity"
  Range("A" & Rws).Cells.Offset(26, 0).Font.Bold = True
  Range("A" & Rws).Cells.Offset(28, 0).Value = "Treatment"
  Range("A" & Rws).Cells.Offset(27, 0).Borders(xlEdgeBottom).LineStyle = xlContinuous
  Range("A" & Rws).Cells.Offset(27, 1).Value = "Day of Test"
For k = 0 To numdays
  With Range("A" & Rws).Cells.Offset(28, k + 1)
  .Value = k
  .Borders(xlEdgeBottom).LineStyle = xlContinuous
  .Borders(xlEdgeTop).LineStyle = xlContinuous
  End With
Next k
  Range("A" & Rws).Cells.Offset(29, 0).Value = "NC"
  Range("A" & Rws).Cells.Offset(30, 0).Value = "High"
 

Attachments

  • Capture1.PNG
    Capture1.PNG
    37.7 KB · Views: 17

Excel Facts

Spell Check in Excel
Press F7 to start spell check in Excel. Be careful, by default, Excel does not check Capitalized Werds (whoops)
Hi markusreyes,

Does the below code do what you need ?

VBA Code:
Sub test()

Dim Reps&, Numdays&, Trtmnt&, a, Rg As Range, Lr&
On Error GoTo oops
Numdays = InputBox("Number of study days", "Enter Here")
Reps = InputBox("Number of reps", "Enter Here")
Trtmnt = InputBox("Number of total treatment groups", "Enter Here")

'First set of tables : Temp, DO, pH
For x = 1 To 3
   Lr = IIf(x = 1, 5, Range("A" & Rows.Count).End(3).Offset(5 + Reps).Row)
   Set Rg = Cells(Lr, 2).Resize(, Numdays + 1)
   Rg.Cells(1).Offset(-2, -1).Resize(3) = Application.Transpose(Array(IIf(x = 1, "Temprature", IIf(x = 2, "DO", "pH")), "", "Treatment"))
   Rg.Cells(1).Offset(-1) = "Day of Test"
   Rg.Cells(1).Offset(-2, -1).Font.Bold = True
   Rg = Evaluate("column(" & Rg.Address & ")-2")
   Rg.Borders(3).Weight = xlThin: Rg.Offset(, -1).Resize(, Rg.Columns.Count + 1).Borders(4).Weight = xlThin
   a = Evaluate(Replace("if({1},if(mod(row(@)," & Reps & ")-1=0,roundup(row(@)/" & Reps & ",0),""""))", "@", Cells(1).Resize(Reps * Trtmnt).Address))
   Rg.Cells(1).Offset(1, -1).Resize(Reps * Trtmnt) = a
  
   Set Rg = Rg.Cells(1).Offset(, Rg.Columns.Count + 1)
   Rg.Resize(, 5) = Array("Treatment", "Mean", "Std Dev", "Min", "Max")
   Rg.Resize(, 5).Borders(4).Weight = xlThin
   Rg.Offset(1).Resize(Trtmnt) = Evaluate("row(" & Cells(1).Resize(Trtmnt).Address & ")")
  
   If x = 1 Then
      Set Rg = Rg.Offset(, 6)
      Rg.Resize(, 6) = Array("Treatment", "Temp", "DO", "pH", "Hardness", "Conductivity")
      Rg.Resize(, 6).Borders(3).LineStyle = xlDouble: Rg.Resize(, 6).Borders(4).LineStyle = xlDouble
      Rg.Offset(1).Resize(Reps * Trtmnt) = a
   End If
Next

'Second set of tables : Hardness, Alkalinity, Conductivity
For x = 1 To 3
   Lr = IIf(x = 1, Range("A" & Rows.Count).End(3).Offset(5 + Reps).Row, Lr + 7)
   Set Rg = Cells(Lr, 2).Resize(, Numdays + 1)
   Rg = Evaluate("column(" & Rg.Address & ")-2")
   Rg.Borders(3).Weight = xlThin: Rg.Offset(, -1).Resize(, Rg.Columns.Count + 1).Borders(4).Weight = xlThin
   Rg.Cells(1).Offset(-2, -1).Resize(3) = Application.Transpose(Array(IIf(x = 1, "Hardness", IIf(x = 2, "Alkalinity", "Conductivity")), "", "Treatment"))
   Rg.Cells(1).Offset(-1) = "Day of Test"
   Rg.Cells(1).Offset(-2, -1).Font.Bold = True
   Rg.Cells(1).Offset(1, -1).Resize(2) = [{"NC";"High"}]
Next

Exit Sub
oops: MsgBox "InputBox accepts numeric values only ... Macro aborted", vbExclamation

End Sub
 
Upvote 0
Hi mse330,

That code is pretty close. Just a few things I have to tailor and I think it may do exactly what I need. Thanks for the code, I really appreciate it!
 
Upvote 0
Glad to help ... Let me know if you need to understand any part of the code or struggle to make any changes :)
 
Upvote 0
I'm a little confused by the code as I'm still a novice. Essentially, the code is mostly correct except I need the Mean, Std Dev, Min and Max table to also appear next to the Hardness, Alkalinity, and Conductivity tables as well. I also need an extra space between the reps. For example, if there are 3 reps then there should be 3 blank rows between 1 and 2 (data will be placed in the column next to 1 and the next two rows beneath that column).

Depending on your patience or time, a general explanation of why you entered the code you did would be helpful. My next step in these tables is even more complicated, and maybe you can give me some tips as I try to tackle it myself. My next step would be inserting Excel functions in the "Means" tables and also the summary table (which has temp, do, pH, hardness, alkalinity and conductivity). The trick would be if I can get formulas to also be in reference to the reps, treatment groups, and number days of the study. Not sure if this is possible, but maybe it is?

I really appreciate your help, and anything you can provide for explanation would be great.
 
Upvote 0
... the code is mostly correct except I need the Mean, Std Dev, Min and Max table to also appear next to the Hardness, Alkalinity, and Conductivity tables as well.

So if you have 8 groups, I should just consider the Alkalinity table to start 2 rows below the 8th group in Mean, Std Dev, Min and Max table ?


I also need an extra space between the reps. For example, if there are 3 reps then there should be 3 blank rows between 1 and 2 (data will be placed in the column next to 1 and the next two rows beneath that column).

I see your point, this can easily be fixed

My next step would be inserting Excel functions in the "Means" tables and also the summary table (which has temp, do, pH, hardness, alkalinity and conductivity). The trick would be if I can get formulas to also be in reference to the reps, treatment groups, and number days of the study.

Can you upload a sample file online (Dropbox for example) & share the link with us ? I need to see the formulas you want to make in order to build it in the code
 
Upvote 0
Also I forgot to specify in the link I attached I only want to code for "Sheet 6" as I can create "Sheet 2" myself and I don't need "Sheet 1."
 
Upvote 0
Your sample file is a bit different than your code ... So for tables DO & pH, do you want the number of reps to be considered like the first table in your original code or they should just consider the groups like your sample file ?

Please try the below code (without any formulas yet), if that's what you're looking for in terms of setup & format I will then work on the formulas

VBA Code:
Sub test_v2()

Dim Reps&, Numdays&, Trtmnt&, a, Rg As Range, Lr&
On Error GoTo oops
Numdays = InputBox("Number of study days", "Enter Here")
Reps = InputBox("Number of reps", "Enter Here")
Trtmnt = InputBox("Number of total treatment groups", "Enter Here")

'First set of tables : Temp, DO, pH
For x = 1 To 3
   Lr = IIf(x = 1, 5, Range("A" & Rows.Count).End(3).Offset(5 + Reps).Row)
   Set Rg = Cells(Lr, 2).Resize(, Numdays + 1)
   Rg.Cells(1).Offset(-2, -1).Resize(3) = Application.Transpose(Array(IIf(x = 1, "Temprature", IIf(x = 2, "DO", "pH")), "", "Treatment"))
   Rg.Cells(1).Offset(-1) = "Day of Test"
   Rg.Cells(1).Offset(-2, -1).Font.Bold = True
   Rg = Evaluate("column(" & Rg.Address & ")-2")
   Rg.Borders(3).Weight = xlThin: Rg.Offset(, -1).Resize(, Rg.Columns.Count + 1).Borders(4).Weight = xlThin
   a = Evaluate(Replace("if({1},if(mod(row(@)," & Reps + 1 & ")-1=0,roundup(row(@)/" & Reps + 1 & ",0),""""))", "@", Cells(1).Resize(Reps * (Trtmnt + 1)).Address))
   Rg.Cells(1).Offset(1, -1).Resize(((Reps + 1) * Trtmnt) - 1) = a
   
   Set Rg = Rg.Cells(1).Offset(, Rg.Columns.Count + 1)
   Rg.Resize(, 5) = Array("Treatment", "Mean", "Std Dev", "Min", "Max")
   Rg.Resize(, 5).Borders(4).Weight = xlThin
   Rg.Offset(1).Resize(Trtmnt) = Evaluate("row(" & Cells(1).Resize(Trtmnt).Address & ")")
   
   If x = 1 Then
      Set Rg = Rg.Offset(, 6)
      Rg.Resize(, 6) = Array("Treatment", "Temp", "DO", "pH", "Hardness", "Conductivity")
      Rg.Resize(, 6).Borders(3).LineStyle = xlDouble: Rg.Resize(, 6).Borders(4).LineStyle = xlDouble
      a = Evaluate(Replace("if({1},if(mod(row(@)," & Reps & ")-1=0,roundup(row(@)/" & Reps & ",0),""""))", "@", Cells(1).Resize(Reps * Trtmnt).Address))
      Rg.Offset(1).Resize(Reps * Trtmnt) = a
   End If
Next

'Second set of tables : Hardness, Alkalinity, Conductivity
For x = 1 To 3
   Lr = IIf(x = 1, Range("A" & Rows.Count).End(3).Offset(5 + Reps).Row, Lr + 7)
   Set Rg = Cells(Lr, 2).Resize(, Numdays + 1)
   Rg = Evaluate("column(" & Rg.Address & ")-2")
   Rg.Borders(3).Weight = xlThin: Rg.Offset(, -1).Resize(, Rg.Columns.Count + 1).Borders(4).Weight = xlThin
   Rg.Cells(1).Offset(-2, -1).Resize(3) = Application.Transpose(Array(IIf(x = 1, "Hardness", IIf(x = 2, "Alkalinity", "Conductivity")), "", "Treatment"))
   Rg.Cells(1).Offset(-1) = "Day of Test"
   Rg.Cells(1).Offset(-2, -1).Font.Bold = True
   Rg.Cells(1).Offset(1, -1).Resize(2) = [{"NC";"High"}]
   
   Set Rg = Rg.Cells(1).Offset(, Rg.Columns.Count + 1)
   Rg.Resize(, 5) = Array("Treatment", "Mean", "Std Dev", "Min", "Max")
   Rg.Resize(, 5).Borders(4).Weight = xlThin
   Rg.Offset(1).Resize(2) = [{1;2}]
Next

Exit Sub
oops: MsgBox "InputBox accepts numeric values only ... Macro aborted", vbExclamation

End Sub
 
Upvote 0
Your sample file is a bit different than your code ... So for tables DO & pH, do you want the number of reps to be considered like the first table in your original code or they should just consider the groups like your sample file ?

Please try the below code (without any formulas yet), if that's what you're looking for in terms of setup & format I will then work on the formulas

VBA Code:
Sub test_v2()

Dim Reps&, Numdays&, Trtmnt&, a, Rg As Range, Lr&
On Error GoTo oops
Numdays = InputBox("Number of study days", "Enter Here")
Reps = InputBox("Number of reps", "Enter Here")
Trtmnt = InputBox("Number of total treatment groups", "Enter Here")

'First set of tables : Temp, DO, pH
For x = 1 To 3
   Lr = IIf(x = 1, 5, Range("A" & Rows.Count).End(3).Offset(5 + Reps).Row)
   Set Rg = Cells(Lr, 2).Resize(, Numdays + 1)
   Rg.Cells(1).Offset(-2, -1).Resize(3) = Application.Transpose(Array(IIf(x = 1, "Temprature", IIf(x = 2, "DO", "pH")), "", "Treatment"))
   Rg.Cells(1).Offset(-1) = "Day of Test"
   Rg.Cells(1).Offset(-2, -1).Font.Bold = True
   Rg = Evaluate("column(" & Rg.Address & ")-2")
   Rg.Borders(3).Weight = xlThin: Rg.Offset(, -1).Resize(, Rg.Columns.Count + 1).Borders(4).Weight = xlThin
   a = Evaluate(Replace("if({1},if(mod(row(@)," & Reps + 1 & ")-1=0,roundup(row(@)/" & Reps + 1 & ",0),""""))", "@", Cells(1).Resize(Reps * (Trtmnt + 1)).Address))
   Rg.Cells(1).Offset(1, -1).Resize(((Reps + 1) * Trtmnt) - 1) = a
  
   Set Rg = Rg.Cells(1).Offset(, Rg.Columns.Count + 1)
   Rg.Resize(, 5) = Array("Treatment", "Mean", "Std Dev", "Min", "Max")
   Rg.Resize(, 5).Borders(4).Weight = xlThin
   Rg.Offset(1).Resize(Trtmnt) = Evaluate("row(" & Cells(1).Resize(Trtmnt).Address & ")")
  
   If x = 1 Then
      Set Rg = Rg.Offset(, 6)
      Rg.Resize(, 6) = Array("Treatment", "Temp", "DO", "pH", "Hardness", "Conductivity")
      Rg.Resize(, 6).Borders(3).LineStyle = xlDouble: Rg.Resize(, 6).Borders(4).LineStyle = xlDouble
      a = Evaluate(Replace("if({1},if(mod(row(@)," & Reps & ")-1=0,roundup(row(@)/" & Reps & ",0),""""))", "@", Cells(1).Resize(Reps * Trtmnt).Address))
      Rg.Offset(1).Resize(Reps * Trtmnt) = a
   End If
Next

'Second set of tables : Hardness, Alkalinity, Conductivity
For x = 1 To 3
   Lr = IIf(x = 1, Range("A" & Rows.Count).End(3).Offset(5 + Reps).Row, Lr + 7)
   Set Rg = Cells(Lr, 2).Resize(, Numdays + 1)
   Rg = Evaluate("column(" & Rg.Address & ")-2")
   Rg.Borders(3).Weight = xlThin: Rg.Offset(, -1).Resize(, Rg.Columns.Count + 1).Borders(4).Weight = xlThin
   Rg.Cells(1).Offset(-2, -1).Resize(3) = Application.Transpose(Array(IIf(x = 1, "Hardness", IIf(x = 2, "Alkalinity", "Conductivity")), "", "Treatment"))
   Rg.Cells(1).Offset(-1) = "Day of Test"
   Rg.Cells(1).Offset(-2, -1).Font.Bold = True
   Rg.Cells(1).Offset(1, -1).Resize(2) = [{"NC";"High"}]
  
   Set Rg = Rg.Cells(1).Offset(, Rg.Columns.Count + 1)
   Rg.Resize(, 5) = Array("Treatment", "Mean", "Std Dev", "Min", "Max")
   Rg.Resize(, 5).Borders(4).Weight = xlThin
   Rg.Offset(1).Resize(2) = [{1;2}]
Next

Exit Sub
oops: MsgBox "InputBox accepts numeric values only ... Macro aborted", vbExclamation

End Sub
Oh I'm so sorry, I forgot I didn't format the sample. So DO and pH should look just like the Temperature table as far as reps and treatment groups go. Hardness, Alkalinity, and Conductivity only need a NC (negative control) and High for the treatment groups.
 
Upvote 0

Forum statistics

Threads
1,214,646
Messages
6,120,715
Members
448,985
Latest member
chocbudda

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top