还需要探索排序一键化
Private Sub CommandButton1_Click()
Dim a, b, c As Integer
If TextBox1.Text > TextBox3.Text Then
a = TextBox1.Text
Else
a = TextBox3.Text
End If
b = TextBox2.Text
'a是循环次数;b是注释表gene_id的所在列
If Asc(TextBox4.Text) > 110 Then
MsgBox ("列大于n,请修改程序!")
End
Else
Select Case TextBox4.Text
Case "c": c = 3
Case "d": c = 4
Case "e": c = 5
Case "f": c = 6
Case "g": c = 7
Case "h": c = 8
Case "i": c = 9
Case "j": c = 10
Case "k": c = 11
Case "l": c = 12
Case "m": c = 13
Case "n": c = 14
End Select
End If
'注释表列的参数c
For i = 1 To a
Sheet4.Cells(i, 1) = Sheet1.Cells(i, 2)
Sheet4.Cells(i, 2) = Sheet1.Cells(i, 3)
Sheet4.Cells(i, 3) = Sheet1.Cells(i, 4)
Sheet4.Cells(i, 4) = Sheet1.Cells(i, 8)
Sheet4.Cells(i, 5) = Sheet1.Cells(i, 9)
Next
'表1复制
For i = 1 To a
For j = 1 To a
If Sheet2.Cells(j, 1) = Sheet4.Cells(i, 1) Then
Sheet4.Cells(i, 6) = Sheet2.Cells(j, 2)
Sheet4.Cells(i, 7) = Sheet2.Cells(j, 3)
Sheet4.Cells(i, 8) = Sheet2.Cells(j, 4)
Sheet4.Cells(i, 9) = Sheet2.Cells(j, 5)
End If
Next
Next
Sheet4.Cells(1, 6) = Sheet2.Cells(1, 1)
Sheet4.Cells(1, 7) = Sheet2.Cells(1, 2)
Sheet4.Cells(1, 8) = Sheet2.Cells(1, 3)
Sheet4.Cells(1, 9) = Sheet2.Cells(1, 4)
'表2复制
Dim p(15) As Integer
For i = 1 To c
p(i - 1) = i
Next
For i = b To c - 2
p(i) = p(i + 1)
Next
'定义数组
For i = 1 To a
For j = 1 To a
If Sheet3.Cells(j, b) = Sheet4.Cells(i, 1) Then
For k = 0 To c - 2
Sheet4.Cells(i, 10 + k) = Sheet3.Cells(j, p(k))
Next
End If
Next
Next
End Sub