ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 兰色幻想

带你入门VBA系列之:不懂的代码快点贴过来

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-1-14 11:08 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

请老师有空时帮我解一下这个代码:

Sub yy()
Static b
Dim i As Long, k As Long, a(1 To 16)
For j = 1 To 16
a(j) = Range("d" & j + 3)
Next j
If Join(a) = b Then
MsgBox "重复": Exit Sub
Else
b = Join(a)
With Sheet2
k = .[B65536].End(xlUp).Offset(1, 0).Row
For j = 1 To 16
.Cells(k, j + 1) = a(j)
Next
End With
End If
End Sub

TA的精华主题

TA的得分主题

发表于 2007-1-14 16:43 | 显示全部楼层

Sheet2.Cells(i, 1) = TextBox1.Value
 Sheet2.Cells(i, 2) = TextBox2.Value
 Sheet2.Cells(i, 3) = TextBox3.Value
 Sheet2.Cells(i, 4) = TextBox4.Value
 Sheet2.Cells(i, 5) = TextBox5.Value
 Sheet2.Cells(i, 6) = TextBox6.Value
 Sheet2.Cells(i, 7) = TextBox7.Value
 Sheet2.Cells(i, 8) = TextBox8.Value
 Sheet2.Cells(i, 9) = TextBox9.Value
 Sheet2.Cells(i, 10) = TextBox10.Value

能否用循环语句简化写?

TA的精华主题

TA的得分主题

发表于 2007-1-14 16:49 | 显示全部楼层

 Sheet2.Cells(i, 1) = TextBox1.Value
 Sheet2.Cells(i, 2) = TextBox2.Value
 Sheet2.Cells(i, 3) = TextBox3.Value
 Sheet2.Cells(i, 4) = TextBox4.Value
 Sheet2.Cells(i, 5) = TextBox5.Value
 Sheet2.Cells(i, 6) = TextBox6.Value
 Sheet2.Cells(i, 7) = TextBox7.Value
 Sheet2.Cells(i, 8) = TextBox8.Value
 Sheet2.Cells(i, 9) = TextBox9.Value
 Sheet2.Cells(i, 10) = TextBox10.Value

能否用循杯语句简化?

TA的精华主题

TA的得分主题

发表于 2007-1-14 16:53 | 显示全部楼层

 Sheet2.Cells(i, 1) = TextBox1.Value
 Sheet2.Cells(i, 2) = TextBox2.Value
 Sheet2.Cells(i, 3) = TextBox3.Value
 Sheet2.Cells(i, 4) = TextBox4.Value
 Sheet2.Cells(i, 5) = TextBox5.Value
 Sheet2.Cells(i, 6) = TextBox6.Value
 Sheet2.Cells(i, 7) = TextBox7.Value
 Sheet2.Cells(i, 8) = TextBox8.Value
 Sheet2.Cells(i, 9) = TextBox9.Value
 Sheet2.Cells(i, 10) = TextBox10.Value

用循环语句如何写?

TA的精华主题

TA的得分主题

发表于 2007-1-15 16:18 | 显示全部楼层

不错,我也有一个问题想请教一个:

在EXCEL工作表中,A,B两列,通过设置公式取出某个汉字的拼音第一个字母,如最后的公式

  A  C
1 吖 A
2 八 B
3 嚓 C
4 咑 D
5 鵽 E
6 发 F
7 猤 G
8 铪 H
9 夻 J
10 咔 K
11 垃 L
12 嘸 M
13 旀 N
14 噢 O
15 妑 P
16 七 Q
17 囕 R
18 仨 S
19 他 T
20 屲 W
21 夕 X
22 丫 Y
23 帀 Z

要求"普"的第一个拼音字母,可在工作表中设置公式,如

=VLOOKUP("普",{"","";"吖","A";"八","B";"嚓","C";"咑","D";"鵽","E";"发","F";"猤","G";"铪","H";"夻","J";"咔","K";"垃","L";"嘸","M";"旀","N";"噢","O";"妑","P";"七","Q";"囕","R";"仨","S";"他","T";"屲","W";"夕","X";"丫","Y";"帀","Z"},2)

可以得出 "P"

但我想在Excel中VBA里设置一个自定义数组函数,可是老设置不好,请各位老师帮帮忙!

[em03][em03]

TA的精华主题

TA的得分主题

发表于 2007-1-15 20:29 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

Cells(s(i), 3) = Val(Sheet1.OLEObjects("TEXTBOX" & i + 2).Object.Text)

表示:第s(i)行第3列的值等于表SHEET1的名为“TEXTBOX" & i + 2  的 OLE对象的值。

问:第s(i)行第3列的值等于用户窗体USERFOM1的名为“TEXTBOX" & i + 2  的 OLE对象

    的值又如何编写上面的语句呢? 多谢!

TA的精华主题

TA的得分主题

发表于 2007-1-16 16:04 | 显示全部楼层

锁定单元格区域的代码知道,如:

Sheet1.ScrollArea = "A1:T22"

请问:解除上述单元格区域锁定代码如何写?

TA的精华主题

TA的得分主题

发表于 2007-1-17 13:20 | 显示全部楼层
QUOTE:
以下是引用凡人无忧在2007-1-14 11:08:20的发言:

请老师有空时帮我解一下这个代码:

Sub yy()
Static b '
Dim i As Long, k As Long, a(1 To 16)
For j = 1 To 16
a(j) = Range("d" & j + 3)
Next j
If Join(a) = b Then
MsgBox "重复": Exit Sub
Else
b = Join(a)
With Sheet2
k = .[B65536].End(xlUp).Offset(1, 0).Row
For j = 1 To 16
.Cells(k, j + 1) = a(j)
Next
End With
End If
End Sub

这个代码比较不好解释,整体的意思是:有一个静态数组b,它保存了单元格[d4:d19]的值,代码运行之后,重新比较这个数组b跟这个单元格区域的值,如果发生了变化,则b改为最新的区域值,然后sheet2表里最后一列来记录最新的区域值

TA的精华主题

TA的得分主题

发表于 2007-1-17 13:22 | 显示全部楼层
QUOTE:
以下是引用gzxw在2007-1-15 16:18:42的发言:

不错,我也有一个问题想请教一个:

在EXCEL工作表中,A,B两列,通过设置公式取出某个汉字的拼音第一个字母,如最后的公式

  A  C
1 吖 A
2 八 B
3 嚓 C
4 咑 D
5 鵽 E
6 发 F
7 猤 G
8 铪 H
9 夻 J
10 咔 K
11 垃 L
12 嘸 M
13 旀 N
14 噢 O
15 妑 P
16 七 Q
17 囕 R
18 仨 S
19 他 T
20 屲 W
21 夕 X
22 丫 Y
23 帀 Z

要求"普"的第一个拼音字母,可在工作表中设置公式,如

=VLOOKUP("普",{"","";"吖","A";"八","B";"嚓","C";"咑","D";"鵽","E";"发","F";"猤","G";"铪","H";"夻","J";"咔","K";"垃","L";"嘸","M";"旀","N";"噢","O";"妑","P";"七","Q";"囕","R";"仨","S";"他","T";"屲","W";"夕","X";"丫","Y";"帀","Z"},2)

可以得出 "P"

但我想在Excel中VBA里设置一个自定义数组函数,可是老设置不好,请各位老师帮帮忙!

[em03][em03]

直接在自定义函数里调用Vlookup函数application.worksheetfunction.vlookup()

感觉没有写自定义函数的必要

TA的精华主题

TA的得分主题

发表于 2007-1-17 13:23 | 显示全部楼层
QUOTE:
以下是引用maqingkui在2007-1-15 20:29:38的发言:

Cells(s(i), 3) = Val(Sheet1.OLEObjects("TEXTBOX" & i + 2).Object.Text)

表示:第s(i)行第3列的值等于表SHEET1的名为“TEXTBOX" & i + 2  的 OLE对象的值。

问:第s(i)行第3列的值等于用户窗体USERFOM1的名为“TEXTBOX" & i + 2  的 OLE对象

    的值又如何编写上面的语句呢? 多谢!

for i = 1 to 10

debug.print userform1.controls("textbox" & i)

next

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-19 22:46 , Processed in 0.046197 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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