Title: ???????????????????????????????????????????????????????????
1??????????????????????????????????????
2???????????????????????????????????????? ???????
??????????????????????????????????????????????????
?? ????????????????????????????! ?????????????
??????????????????????????????
3???????????????? ? 1)??????????????????? 2)???????
??????????????????? ????????? ????????????????????
???????????????
4??????????Excel??
- Excel????????????????????????????????????????????(
VBA)?????????????????????????????Excel??????????
????????????????! - Excel????????????????????????????????
5??????????Excel??
- ????????????????????????????????????????????????
??????---???????? - ??????VBA???????????????????????GUI(????????????
??????)??????
6????????????????
- ????????Excel VBA?????????????????
- ????????????????????????????????
- ???????????????????????????????
6
7 8Excel???????
- ??????????????
- ?????????????????????????????????????????????/????
????????????????????/????????? - ????/???????????????????????????????
- ??????????????????????????????????????????????????
???????????????????????????????
9Excel???????
- ??????1)???????????????????????????2)??????????
???????????????????????????????????????????????1?
????????????????(???????????)????option???????????
------ ???????????????
10Excel???????
- ??????????????????????????????1)
???????????????2) ?????????????????????????????(?
?????)?3) ????/?????/?????????
11"A Genome-Wide Transcriptional Analysis of the
Mitotic Cell Cycle"
12?????????
0?
160?
10?
20?
? ? ? ? ? ?
mRNA??
mRNA??
mRNA??
?????????
?????
?????
?????
???1
???????????
???????????
???????????
???2
???3 ? ? ?
13??????????
- ????????????????????????(????)????? gene1 10 20
30 gene2 120 140 160????? gene1 10 20 30
gene2 120 140 160?????? gene1,10,20,30 gene2,12
0,140,160?????? gene1 10 20 30 gene2
120 140 160
14????????????
- Excel???????????/?????????????????????????
- ?????????????????????????? ????????????????
- ??????????????????????????????????????????????????
???????????????? - ??????????????????????????
15????????(???)
- ??????????????????????????????(????????????)?????(
????????????)???????1) ?????????????????????????
???????????-A????2) ?????/???????????????????3)
????????????????(????????????)????????????????????
????????????????????3) ??????????????????????????
????????????????A??B????????OK?????????????
16 17Excel?????????
- ??????????????????????????????
- ??????????????????????(?)?????????????????????????
????????????????????????????? - ????????????????VBA???????????????????
18Excel???
- ??1)?????????????????AVERAGE(A2R2)?????????????
??????"A2R2"?????????????????????????(??????????)
???????????")"???????????????????Enter????????????
??????1)??????????????????????? - ??2)????????????????fx??????????????????????????
??????????????????????????????
19Excel??????
- ????2)????????????????????????????????????????????
??????????????????????????????? - ?????/?Excel??????????????????????????????????????
???
20Excel?????(????)
- SUM(A2R2) A2????R2???????
- AVERAGE(A2R2) A2????R2???????
- COUNT(A2R2) A2????R2??????????????????
- STDEV(A2R2) A2????R2?????????
21Excel????
- ??
- - ??
- ???
- / ??
- ??
- MOD(A1,A2) A1?A2???????(??)
- ABS(A1) A1????(??)
- SQRT(A1) A1????(??)
- " " ????????A2??????? "A2"?A2???????
- ?????? ("ABC" "DEF" ? "ABCDEF"???)
- ? A2 DEF ? A2 DEF?????
22??????????????????
- AVERAGE(A2R2) ??????????????A2R2??????????????
- ???????????
- ?????????????????????????????????(????)?
- ?????????????????????????????????????????AVERAG
E(A2R2)?AVERAGE(A2R2) ?AVERAGE(A2R2)
??????????????????????
23Excel?????(????)
- LEN(A1) A1???????????????
- FIND("t",A1) A1????????????????t?????????t???????
??????? - LEFT(A1,5) A1??????????5??????
- RIGHT(A1,7) A1??????????7??????
- MID(A1, 5, 3) A1???????5?????3??????
24Excel?????(???)
- IF(A10,"Yes","No") A10??????(?????True????)"Ye
s"????????"No"??????? - ISERROR(A1) A1?????????????True?
- TTEST(A2R2,A3R3,1,2) T???A2R2?????A3R3????????
??????P????? - HYPERLINK("http//yahoo.co.jp","Yahoo")???????????
?http//yahoo.co.jp??????????????Yahoo???? - ?????????????????????????????????????????????????
??????????????????????????????????????????
25 26Excel VBA???????
- VBA "Visual Basic for Applications"??????? VB
(Visual Basic)???????????????????????? - VBA for Excel, VBA for Word, VBA for
PowerPoint?????? - ??????????????????????(???Visual
Basic????????????) - ?????????VB???????????????????????????????(??)?
- ??????????VBA for Excel????Excel????????(VB????)??
??????
27??????????????????
- ??????????????lt???????????????????gt?????????????
?????????????????????????????????????????????????
???????????????????????????????????????????????
??????????????????????????????
28VBA Editor????
- ???????????
- ?????????????????????????
- ?????????VBA???????????????????Module?Form????????
?????????????????????????????(??????)??????? - ????????
- ???VBA?????(?????)????????????????????????????????
????????????????????????????????????????????
29?????????????
- VBA???????Excel???????1)????????????????2)Fn-F9?
??Fn-F10??????????????3) ????/?Microsoft
Excel?4)????????Excel?/?????Microsoft
Excel??????????VBA????????? - Excel????VBA???????1) Visual Basic??????Visual
Basic Editor??????????Visual Basic??????????/?????
??/?Visual Basic????????????2)
?????/?????/?Visual Basic Editor?
30??????
- Sub Macro1()End Sub???1????????(???????????)???
????????Sub??????(??????)?????????????????????????
????()????????????Function??????(??????????)????
???????(?????????????????????????????????)??????
31???????????(1)
- ?????????????????????
- VBA Editor????
- ????????????????????????
- ????/???????????Fn-F5 ?
- Excel????
- ?????/?????/?????/???????????????????????????????
?????????? - ?Visual Basic???????? ?????????????
- ??????????????
- ????Dock?Excel???????????????????
- (??Windows???)Ctrl-Alt-Del???????????????????????
??
32???????????(2)
- ?????????
- ???????????Excel??????????????????????????????????
??????????????????????????????????????????????????
???? - ????Windows?Excel2007?????????????????.xlsx???????
?????.xlsm???????
33Excel???????
- Excel?1???????????????????
- ?????????????????1??????????????????
- ???????????1??????????????????????????????????????
??(?????)? - ??????????????????????????????????????????????
34?????(1)
- ????2??3?????????Cells(2,3)?(??)
Range("C2")??????????????????????????????? - ??????????(??????2?3?)?Range(Cells(1,1),Cells(2,3
))Range("A1C2")??????
35?????(2)
- ??????????Worksheets(data).Cells(2,3)(???Works
heets(data).Range(C2) )????????WorkSheet?????
???????????????????????(ActiveSheet.Cells(2,3))??
????????? - ????????????????????????????????
- ????????????????WorkSheets("data2").Activate????
?????????Activate????????????????????????????
36??????????
- ???????????????????????????Cells(2,3).Value?????
???????WorkSheets().????????????????.Value????????
?Cells(2,3)??????????????2??3???????????? - ?????????????????(?????)???????Cells(2,3).Height
??Cells(2,3).Font ????Cells(2,3).Borders
?????(???????) Cells(2,3).Interior ??(??)
37?????
- ????????????Cells(1,20) Cells(1,1) /
Cells(1,19) - ?????Cells(1,1).SelectSelection.Value
5Cells(2,1).SelectSelection.Value "Gene"
38??????
A 1
B 2
C 3
D 4
E 5
F 6
G 7
H 8
I 9
J 10
K 11
L 12
M 13
N 14
O 15
P 16
Q 17
R 18
S 19
T 20
U 21
V 22
W 23
X 24
Y 25
Z 26
AA 27
AB 28
AC 29
AD 30
AE 31
AF 32
AG 33
AH 34
AI 35
AJ 36
AK 37
AL 38
AM 39
AN 40
AO 41
AP 42
AQ 43
AR 44
AS 45
AT 46
AU 47
AV 48
AW 49
AX 50
AY 51
AZ 52
BA 53
BB 54
BC 55
BD 56
BE 57
BF 58
BG 59
BH 60
BI 61
BJ 62
BK 63
BL 64
BM 65
BN 66
BO 67
BP 68
BQ 69
BR 70
BS 71
BT 72
39??
- ???????????????????????????????????A 1 ----
A?????????1?????????(????)B 2
??????????????????????C A B ---
A??????A?????????????????A 3
??????????A?B???????C????D A BMsgBox D
----- D????????????????????????A???3?B???2?C???3?
D???5???? - ??????????????????????????????????255???????????!
- ??????????????????????????????A(2) A(1)
1A(2,2) B(2,2) 1 ???
40???(1)
- ???????????????????????????????Dim A As
Integer("A" ???????????) - Integer??(-3276832768)
- Long???(-2147483648 2147483648 )
- Single?????(?????7?)
- Double?????(?????15?)
- String??????
- Boolean?????True?False???????????
- Object????????(????????????????(??????)????????)
41???(2)
- ??????????????????????--- ????????????????Variant
???????(Variant??????????????)????????????????????
???????????? - ????????????????????? Dim A(100) As Integer-
A(1), A(2), A(3), .... A(100)?100????????????????
????? Dim A(100,100) As Integer- A(1,1) ??
A(100,100)???10000????????
42???????
- Visual Basic????????????????????Name?name?????????
???????????? - ???????????????????????????(? NameString)????????
?????????????????????????????????
VBA???????????????????????????????????????????????
??????????????????? - ???(????????)??????????????VBA????????????????????
????????????????????????????????????
43???
- ??????????????? A 1 ?? A B 1 ?? A B -
1 ?? A B 2 ?? A B / 3??? A B 2
(B?2?)?? A B mod 3 (B?3???????)??? A Abs(B)
(B????)????? A B th data
(????????????????) - ?????????????????????????????Set A
Worksheets("data")??????????????A?Worksheets("dat
a")???????
44???
- ???????????????????????????????
- ????????????????????
- ?????????(??????)???????????????????
- ?????????????????????????????????????????????????
???????????????????????????????????
45For?(???)(1)
- N0For I 1 To 10 NNINext IMsgBox
N?????I?1??10??1?????????NNI?????????????1??10?
??????????????? - ????????????????????????????????????????????VBA??
??????????????????????????????????????????????-???
- N0For I 1 To 10 Step 2 NNINext
IStep??????????????????I?????????????????I1,
I3, I5, I7, I9?????????
46For?(???)(2)
- ????? N0For Row 1 To 100 For Column 1
To 10 NN1 Next ColumnNext
RowFor???????????????????????Row?1??100?????????
?????Row?????Column?1??10??????????????????NN1??
?1000?????? - ??For??Next???????????????????For Row...Next
Row???For Column...Next Column?????????????
47???????????(3)
- VBA?????????????/????????(Fn-F8)??????????????????
????????? ??????/?????????????(Command-Fn-F8)?????
????????????? - ??????????????????????????????/???????????????????
??????????????????A???????????????????????????????
??????????????????????????????????????????????????
??? - ???????????Debug.Print A, B???????????????????????
?????????????????????? - ??????????????????????????????????????????????????
?????????????????????????????????????????????
48???????????(4)
- ????????????????????????????????????????VBA?????(
?????)???????????????????? - ??????????????????????????
- ?????????????????????????????????
49If?(1)
- If I 0 Then J 1I?0?????J?1????
- If I 0 Then J 1End IfI?0?????J?1????
- If I 0 Then J1Else J2End
IfI?0?????J?1??????????J?2????
50If?(2)
- If I 0 Then J1ElseIf I1 then
J2Else J3End IfI?0?????J?1???????I?1?????
J?2??????????J?3???? - ???????(???????????)???IF?????? End If ???????????
51???
- If????????????A0 (?????""????????????????)Altgt
0 ?A?0????Not Agt3 ?Agt3????Agt5 And Blt5
?A?5???????B?5???Alt3 Or Agt6 ?Alt3???Agt6?(Agt5
And Blt5) Or (Alt3 And Bgt5)A (A???????)
?ATrue???????
52Do???
- Do While lt???gtlt???gtLoop????????????????????
- Dolt???gtLoop While lt???gt????????????????????
- ?????????????????Visual Basic?????????Visual
Basic??????????????????????
53?????????????
- ????????????????????????
- Exit Do
- Exit For
- ??????(???)??????????
- Exit Sub
- ????????????????????????
- GoTo Label1????Label1 ???(????????)?Label1????
?????????????
54MsgBox
- ?????????????
- ?????????(OK???????????)?????????????
- MsgBox(Hello!)
- ???????????????????
- ??????????MsgBox(Is this OK?,
vbOKCancel)OK??????vbOK(1), ???????????vbCancel(
2)????????
55???????????
- ???????????????????????????????????????????????
??????? - 1?????????????????????????? _ (??)????????????????
????????? - (???)????????????1???????????
- 1??????????????????????????????????(??????????????
)?
56???????
- VBA???????Help?/?Visual Basic?????Microsoft
Office????????????????????????????????????????????
? - ????? ??????????????????????????????????Visual
Basic????????????????????????????????(Sub,
Dim??)???(MsgBox??)?????????????????? - Excel?????????VBA????????????????????
57VBA???
58???
59cell_cycle_microarray6.xls(????10??????????)
60????????
??????????????(????)????????? ? ???????????????
61????????
- VBA??????????
- ??????????????????????????????
- Excel??????????/?????/???????????
- ??????????????????????????????????????????????????
???OK. - ???????????????????
- ?????Visual Basic?????? ????
- VBA?????????????????????
- ??????????????????????????????????????????????????
- ?????????????????????????????????
62?????????????????
- ?????????(Range("A1"))????????????????????????????
????????????.Value? .Hight ???????????? - ???????????????????????????????Range("A1").Clear?
???????????????????? - WorkSheets("data").Range("A1")??WorkSheets
("data")??????????????????????????????????????????
???????????????????? - ????????????????????????WorkSheet("data").Range("A
1").Font.Size??????
63?????????????????
- ?????????????????Cells(1,2)?Range(A1C2)?Range????
?????????????????? - ??????????????????Visual Basic????????????????????
??????????????????????????????????? - ????????????????????????????Font??????????????????
??????????????????????????????Xxx.Font?Xxx??(??)??
?????????
64With????
- ???? WorkSheets("data").Cells(1,1).Value _
WorkSheets("data").Cells(1,1).Value /
_WorkSheets("data").Cells(1,19).Value
????????????????????????????????? - ?????????With WorkSheets("data")
.Cells(1,1).Value .Cells(1,1).Value /
.Cells(1,19).Value End With?????????.?WorkSheets
("data")???????End With?????With???????
65 66??????
- ???????????????????????????????????????????????
??????????????????????????????????????????????
???????????????????????????
67????????
- ????????????????????????????????(??????)??????????
??????????????????? - ?????????????????????????????????????
68?????????????????????(1)
- VBA????????????/??????????????????????????????????
??????????????????????????????????? - ????????????????????????????????/??????????
- ??????????????????????????????????????????????????
????????????? - ??????????A???????ab????????????????????????
69?????????????????????(2)
- ??????(????????)??????????????????????????????????
????????????????????????????????????? - ???????????????????????????(???????????????/??????
??????)???????????????????????????????????????????
????????????????????????? - ?????????????TextBox1?????????????????????????????
??????????????????????TextBoxReferenceGene???????
70???????????????
- ???????????????????????????????Private Sub
CommandButton1_Click()???????????????????????????
???????????????? - ?????????TextBox1????????????CommandButton1???????
??????????Sub CommandButton1_Click()???TextBox1??
??????????????InNumber TextBox1.Value(????Text
Box1.Text)??????????? - ????????????????????/?????
71???????????
- ???????????????????????2????????
- 1)??????????????????
- 2)????????????????????(??????????)????????????????
?????????Sub Macro2()UserForm1.HideUnload
UserForm1End Sub??????
72???????????
- ???????????????????????????????????
- ????????????????????????????Macro1()??????????????
???????????Sub Macro1()Load UserForm1UserForm1.
ShowEnd Sub - ??????????????????????????????????????????????????
????????CommandButton_Click????????????????
73??????????????????
- Excel?????????1??????????????
- Excel?????????????????????????/?????/????
???????????? - ???????(???)????????????????????????
- ??????????????????????????????????????????????????
?????????????????OK? - ??????????????????????????????????????????????????
? - ??????????????????????????????????????????????????
???/???????/?????????????????????????
74 75?????
- ???????????????????????????????????????????????
- ?????????????????????????????On Error GoTo
Label1?????(Label1??????????)???????????????????
?????????????????Label1???????? - ?????????????????On Error GoTo
0???????????????????????????????????????Label1???
????????????
76????(1)
- ?????????(????/??????????)????????????????????????
????????????????ActiveSheet.Shapes.AddShape(msoSh
apeRectangle, Left, Top, Width,
Height).SelectSelection.ShapeRange.Fill.ForeColor
.RGB RGB(255, 0, 0) Selection.ShapeRange.Fill.S
olidSelection.ShapeRange.Fill.VisiblemsoTrue
????????
Left, Top
Width
Height
77????(2)
- ???????????????With Worksheets(sheet1).Shapes.A
ddShape( msoShapeRectangle,
Left, Top, Width, Height) .Fill.ForeColor.RGB
RGB(255, 0, 0) .Fill.Solid .Fill.VisiblemsoTru
eEnd With - AddShape???(???????)??????????????????????????????
???????With??????????????????????????????????????
78????(3)
79????(4)
80????(5)
- ?????????????With ActiveSheet.Shapes.AddShape(mso
ShapeRectangle, Left, Top, Width, Height)
?????????.Fill.ForeColor.RGB RGB(255, 0, 0)
????? .Fill.Solid ?????.Fill.VisiblemsoTrue
??????(msoFalse?????msoTrue, msoFalse?True,
False???).Line.ForeColor.RGB RGB(0, 255, 0)
??????.Line.Weight 8 ??????? .Line.Visible
msoTrue ?????? - ????????????VBA????Addshape???????????msoShapeOva
l
81????(6)
82?????
?? ?????
Mac(OS9??) CR (0D13)
Windows CRLF (0D0A13, 10)
Unix, Linux, Mac OSX LF (0A 10)
- ??OS??????????????????????????????????????????????
??????????????????????????????????????? - ????????????????????Macintosh???16?????0D?10???13?
???CR(?????????)??????(LF????????)???????????VB???
??????Chr??????????????vbCr??????????? - CRLF?2??????????
??? Chr?? VB??
Tab Chr(9) vbTab
LF Chr(10) vbLf
CR Chr(13) vbCr
CRLF Chr(13)Chr(10) vbCrLf
???????????? ???????????? vbNewLine
83???????(1)
- Open "lt?????(???)??gt" For Input as 1Do While
Not EOF(1) (???????????) Line Input 1, A
(1??A?????) LoopClose 1 - Open "lt?????(???)??gt" For Output as 2Print
2, lt??????gtClose 2 - 1?2?????ID????????????
84???????(2)
- ????????????????????????????????C\Documents
and Settings\Iino\My Documents\??????????1\2010??\
blast.txt - ?????????????????????????????????????Excel???????
?????/????????????????????????????????????????????
????????????????????? C\Documents and
Settings\Iino\My Documents\??????????1\2010??????
- ?????????????????????????Excel????????????????????
????????
85Excel VBA?????????
- Len(Str) ????Str?????????????
- InStr(Str, "t") Str??????????????t???????????????
??t??????0?????????Excel???Find?????????????????! - InStrRev(Str, t) InStr???????????????????t?????
???????t????????????Mac?????????? - Left(Str,5) Str????????5??????
- Right(Str,7) Str????????7??????
- Mid(Str, 5, 3) Str?????5?????3??????
- UCase(Str) Str???????????
- LCase(Str) Str???????????
- Split(Str, Delimiter) ????????????????????????????
???Str????"A,B,C,D"?????????Split(Str,
",")(0)?"A", Split(Str, ",")(3)?"D"????UBound(Spl
it(Str, ","))?????-1(?????3)?????
86 87VBA???????(1)
- ??????????????????
- 1)Excel???????
- 2)????????????/???????Visual Basic
Editor????????VBA????????????? - 3)?????????/?????/?Visual Basic Editor?????Visual
Basic Editor?????? - 4)???????????????Microsoft Visual
Basic?????????????????????????????????
88VBA???????(2)
- ??????
- ??1)Visual Basic Editor?Microsoft Visual
Basic?????????????????????????????????????????????
?????? - ??2)Windows???????????????????????????????????????
?Excel??Office????????????????????????????????????
???????????????????????????? - ??3)(Mac???????Win????????)???????????CD??????????
????????????????Office??????Visual Basic for
Applications????????????
89??????
255 255 0
255 0 0
0 255 255
Red Green Blue
0 0 255
0 255 0