设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: tmtony
打印 上一主题 下一主题

[基础应用] Excel技巧接龙

[复制链接]
91#
发表于 2006-5-16 20:07:00 | 只看该作者
花了差不多24个小时的时间,终于在今天将这些好东东看完了,在这里非常谢谢各位出招的大哥大姐小弟小妹们,你们辛苦了.

11楼的,CTRL+~ 显示当然工作表中的有用到的公式,这个出不来

22楼的,为什么"DD"是要7个,经本人反复使用,发现四个就可以了,20个的时候也可以,嘻嘻

14楼的,SUBTOTAL(3,[RANGE])这个做不出来;

27-37楼的叫toumaorou的朋友,非常感谢你这么多好东西,只是本人觉得你有必要将你的资料排版到一张纸上后再发表到这儿来,另外你在35楼时说的Ctrl+*这个东东出来的是"当前工作表无分级显示,不能显示分级符号,是否建立分级显示?"

76楼的,谢谢,你的方法对我很有用

我也来一个关于自动筛选项目求和的公式:Subtotal(9,H6:H606),这个H6:H606就是数据所在区域,对求每个员工的月加班小时总数是很有用的.
92#
发表于 2006-5-20 03:56:00 | 只看该作者
好像没有看到用照相机这个工具的,工具,自定义, 命令选项卡中, 工具类别, 右边选项中,拖动照相机到工具栏上,回到工作表,选中要动态引用的单元格数据,按下照相机,再放到指定位置,可以实现动态引用
回复 支持 1 反对 0

使用道具 举报

93#
发表于 2006-5-29 18:31:00 | 只看该作者
有意思
94#
发表于 2006-6-2 18:35:00 | 只看该作者
=NOW()   显示当前 年月日 点
95#
发表于 2006-6-12 21:26:00 | 只看该作者
Ctrl+1格式设置对话框

Ctrl+←(↑→↓)能分别定位到此行(列)的下一个非空单元格
96#
发表于 2006-6-16 20:46:00 | 只看该作者
本人也给大家推荐一个查找程序,适用于连续在一个多数据表格里查找,

先建立一个窗体USERFORM1,添国两个文本框 TEXTBOX1,TEXTBOX2,两个标签LABEL1,LABEL2

Dim HH1 As Range
Dim HH2 As Range
Dim DD1, DD2

Private Sub CommandButton1_Click()
For DD2 = DD1 + 1 To 300
If Cells(DD2, 1).Text Like "*" & TextBox1.Text & "*" Then
ActiveWindow.ScrollRow = DD2
DD1 = DD2
GoTo LINE2
Else
End If
Next
LINE2:

End Sub

Private Sub TextBox1_Change()

For Each HH1 In Range("A4:A5000")
If HH1.Text Like "*" & TextBox1.Text & "*" Then
ActiveWindow.ScrollRow = HH1.Row
DD1 = HH1.Row
GoTo LINE1
Else
End If
Next
LINE1:
TextBox2.Text = ""
End Sub

Private Sub TextBox1_Enter()
If TextBox1.Text = "" Then
Else
If Label2.Caption = "数量无" Then  '判断要不要输入数字

Else

If TextBox2.Text = "" Then '判断第二框有无数字
MsgBox "请输入正确的数字!"
Else

If Cells(DD1, 38).Text <> "" Then '判断第38列有无数字,有则提示
MsgBox "请输入正确的数字!"
TextBox2.Text = ""
Else
Cells(DD1, 38).Value = TextBox2.Text '在第38列输入第二框的数字
TextBox2.Text = ""
End If

End If

End If
End If
End Sub

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Select Case KeyCode
Case 17
Cells(DD1, 2).Value = "OK" '在第38列输入OK
TextBox1.Text = ""
Case 38
TextBox1.Text = ""
Case 39
For DD2 = DD1 + 1 To 5000
If Cells(DD2, 1).Text Like "*" & TextBox1.Text & "*" Then
ActiveWindow.ScrollRow = DD2
DD1 = DD2
GoTo LINE2
Else
End If
Next
LINE2:
Case 37 '按左光标键后的程序
If Cells(DD1, 38).Text <> "" Then
MsgBox "请输入正确的数字!"
Else
Cells(DD1, 38).Value = "OK" '在第38列输入OK
TextBox1.Text = ""
End If
End Select

End Sub
Private Sub LABEL2_Click()
If Label2.Caption = "数量:" Then
Label2.Caption = "数量无"
TextBox2.Enabled = False
Else
Label2.Caption = "数量:"
TextBox2.Enabled = True
End If
End Sub


Private Sub UserForm_Initialize()
DD1 = 1
End Sub

在模块里建立一个启动程序

SUB SEARCH()

USERFORM1.SHOW

END SUB
97#
发表于 2006-6-16 21:01:00 | 只看该作者
本人在给大家介绍一个简单的录入程序,对简单却繁锁的数据输入较有效,

如有不明白,或其他想与本人讨论的请加QQ: 648715289

先建立一个窗体USERFORM1,添加三个文本框TEXTBOX1,TEXTBOX2,TEXTBOX3,再添加一个标榜LABEL1

TEXTBOX1 用来输货号,编号,等等,输入时只要输入有代表性的几位就可以了,如输POLO-20315,可只输入20315,如果包含20315的只有这个则马上可以自动找出并输入表格<如有POLO-20308,POLO-20309,POLO-20310,POLO-20312,POLO20313,POLO-20315....时)

TEXTBOX2 用来输数据,数量,重量,价格等

TEXTBOX3 用来输货号或编号特定不变的符号或文字<输入后不自动变更>,没有则不输,

Dim CH1 As Range
Dim CH2 As Range
Dim DD1
Dim DD2

Private Sub TextBox1_Change()
TextBox3.Enabled = True
For Each CH1 In Sheets(1).Range("A1:A5000")
If CH1.Text Like "*" & TextBox1.Text & "*" Then
Label1.Caption = CH1.Text
DD1 = CH1.Row
GoTo LINE11
Else
End If
Next
LINE11:
End Sub

Private Sub TextBox1_Enter()
If TextBox3.Text = "" Then
TextBox1.EnterFieldBehavior = 0
Else
TextBox1.EnterFieldBehavior = 1
End If

If TextBox2.Text = "" Then

Else
For Each CH2 In Sheets(2).Range("A2:A5000")

If CH2.Text = "" Then
CH2.Value = Label1.Caption
Sheets(2).Cells(CH2.Row, 2).Value = TextBox2.Text
TextBox1.Text = TextBox3.Text
TextBox2.Text = ""
GoTo LINE1
Else
End If
Next
LINE1:
End If

End Sub

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Select Case KeyCode

Case 38 '按上光标键清楚TEXTBOX1的内容
TextBox1.Text = ""
Case 39 '右光标键 继续查找
For DD2 = DD1 + 1 To 5000
If Sheets(1).Cells(DD2, 1).Text Like "*" & TextBox1.Text & "*" Then
Label1.Caption = Sheets(1).Cells(DD2, 1).Text
DD1 = DD2
GoTo LINE2
Else
End If
Next
LINE2:
Case 37 '按左光标键后的程序

End Select
End Sub

Private Sub TextBox2_Enter()
TextBox3.Enabled = False
End Sub
98#
发表于 2006-6-16 21:12:00 | 只看该作者
我再给大家介绍一个多条件求和函数,

{=SUM(IF(A1:A200=G2,IF(B1:B200=G3,IF(C1:C200>G4,IF(D1200<G5,F1:F200)))))}

        条件1,          条件2,       条件3,        条件4,|,    结果和    大括号表示这是数组公式 同时按Ctrl + Shift + Enter 这三个即可设成为数组公式

意思就是求A1:A200中有G2所对应的,B1:B200中有G3所对应的,C1:C200中有G3所对应的,D1200中有G4所对应的,即这四个同理对应时的F1:F200中的和

如有不明白,或其他想与本人讨论的请加QQ: 648715289
99#
发表于 2006-6-20 23:42:00 | 只看该作者
请教你对宏的编辑懂吗,我是新手啊。

100#
发表于 2006-6-27 19:57:00 | 只看该作者
判斷字符串內碼   Function CheckCode(StrChk As String) As String

     '判斷是否包含漢字

     StrChk = VBA.StrConv(StrChk, vbNarrow)

     If (Len(StrChk) <> LenB(StrConv(StrChk, vbFromUnicode))) = False Then

        CheckCode = "English/Data"

        Exit Function

     End If



     '判斷文本內碼

     For I = 1 To Len(StrChk)

         F = Hex(Asc(Mid(StrChk, I, 1)))

         L1 = CInt("&H" + Mid(F, 1, 2))

         R1 = CInt("&H" + Mid(F, 3, 2))

         'GBCode    1>A0H - FEH

         'BIG5Code  1>80H - FFH  2>00H-FFH

         'MsgBox Val("&H ")

         If R1 < 127 Then

            CheckCode = "Big5"

            Exit Function

         End If

     Next

     CheckCode = "GB"

   End Function
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-24 11:59 , Processed in 0.085245 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表