Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2976|回复: 11

[已解决]帮我看看这样错在哪里

[复制链接]
发表于 2013-10-19 15:52 | 显示全部楼层 |阅读模式
本帖最后由 fls996 于 2013-10-19 16:32 编辑


Private Sub CommandButton1_Click()
Dim i As Integer, j As Integer, k As Integer, h As Integer
    For i = 1 To 4
  
        Sheets("sheet1").Range("A65536").End(xlUp).Offset(1, 0) = Controls("textbox" & i).Text
        Sheets("sheet1").Range("A65536").End(xlUp).Offset(0, 1) = Controls("textbox" & i + 4).Text
        Sheets("sheet1").Range("A65536").End(xlUp).Offset(0, 2) = Controls("textbox" & i + 8).Text
        Sheets("sheet1").Range("A65536").End(xlUp).Offset(0, 3) = Controls("textbox" & i + 12).Text

    Next i
End Sub

最佳答案
2013-10-19 16:23
  1.     For i = 1 To 4
  2.         With Sheets("sheet1").Range("a65536").End(xlUp)
  3.             For j = 1 To 4
  4.                 .Offset(1, j - 1) = Controls("textbox" & i + j * 4 - 4).Text
  5.             Next
  6.         End With
  7.     Next
复制代码

Book1.rar

17.15 KB, 下载次数: 7

发表于 2013-10-19 16:03 | 显示全部楼层
你想解决什么问题,代码运行是没有错误的。
想实现什么效果?

回复

使用道具 举报

 楼主| 发表于 2013-10-19 16:09 | 显示全部楼层
hwc2ycy 发表于 2013-10-19 16:03
你想解决什么问题,代码运行是没有错误的。
想实现什么效果?

一次录入4行,但这样做录入很多行。像附件里那样。
回复

使用道具 举报

发表于 2013-10-19 16:23 | 显示全部楼层    本楼为最佳答案   
  1.     For i = 1 To 4
  2.         With Sheets("sheet1").Range("a65536").End(xlUp)
  3.             For j = 1 To 4
  4.                 .Offset(1, j - 1) = Controls("textbox" & i + j * 4 - 4).Text
  5.             Next
  6.         End With
  7.     Next
复制代码
回复

使用道具 举报

发表于 2013-10-19 16:26 | 显示全部楼层
QQ截图20131019162357.jpg
控件的排列规律。
回复

使用道具 举报

发表于 2013-10-19 16:33 | 显示全部楼层
本帖最后由 qcw811206 于 2013-10-19 16:35 编辑
hwc2ycy 发表于 2013-10-19 16:26
控件的排列规律。


{:041:}他为什么bu横着排?
回复

使用道具 举报

 楼主| 发表于 2013-10-19 16:42 | 显示全部楼层
qcw811206 发表于 2013-10-19 16:33
他为什么bu横着排?

横着排不知道怎么写。
回复

使用道具 举报

发表于 2013-10-19 16:46 | 显示全部楼层
横着排你也有找出规律嘛。
回复

使用道具 举报

发表于 2013-10-19 16:51 | 显示全部楼层
  1.     For i = 1 To 4
  2.         With Sheets("sheet1").Range("a65536").End(xlUp)
  3.             For j = 0 To 3
  4.                 .Offset(1, j) = Controls("textbox" & i + j * 4).Text
  5.             Next
  6.         End With
  7.     Next
复制代码
可以简化下,这样少2步运算。
回复

使用道具 举报

发表于 2013-10-19 16:53 | 显示全部楼层
  1.     With Sheets("sheet1").Range("a65536").End(xlUp)
  2.         For i = 1 To 4
  3.             For j = 0 To 3
  4.                 .Offset(i, j) = i + j * 4 'Controls("textbox" & i + j * 4).Text
  5.             Next
  6.         Next
  7.     End With
复制代码
再挪动下,还能少运算4步。
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-20 05:20 , Processed in 0.365603 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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