Excel精英培训网

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

[已解决]如何单元加序号?

[复制链接]
发表于 2021-2-22 13:02 | 显示全部楼层 |阅读模式
本单元格内容从SHEET 2中倒来的,怎么让内容加上行号,谢谢老师!

Sub 拍鸟清单()
    Dim x As Long, i As Long, j As Long, k As Long
        i = Sheet2.Range("g65536").End(xlUp).Row
        j = 0
        k = 1
       For x = 4 To i
            If Trim(Sheet2.Cells(x, "aa")) = 1 Then
             j = j + 1
             Sheet4.Cells(j, k) = Sheet2.Cells(x, "g")
              If j Mod 11 = 10 And j <> 0 Then
              k = k + 1
              j = 0
               End If
            End If
        Next x
    MsgBox "执行完毕!"
End Sub



最佳答案
2021-2-22 19:27
原基础上修改:
  1. Sub 拍鸟清单()
  2.     Dim x As Long, i As Long, j As Long, k As Long
  3.         i = Sheet2.Range("g65536").End(xlUp).Row
  4.         j = 0
  5.         k = 2
  6.         For x = 4 To i
  7.             If Trim(Sheet2.Cells(x, "aa")) = 1 Then
  8.                 j = j + 1
  9.                 Sheet4.Cells(j, k - 1) = (k - 2) * 5 + j
  10.                 Sheet4.Cells(j, k) = Sheet2.Cells(x, "g")
  11.                 If j Mod 11 = 10 And j <> 0 Then
  12.                     k = k + 2
  13.                     j = 0
  14.                 End If
  15.             End If
  16.         Next x
  17.     MsgBox "执行完毕!"
  18. End Sub
复制代码

石家庄的鸟 - 专用 -改动.rar

120.62 KB, 下载次数: 9

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2021-2-22 19:16 | 显示全部楼层
紅色部份修改、新增

Sub 拍鸟清单()
    Dim x As Long, i As Long, j As Long, k As Long
        i = Sheet2.Range("g65536").End(xlUp).Row
        j = 0
        k = 2
       For x = 4 To i
            If Trim(Sheet2.Cells(x, "aa")) = 1 Then
             j = j + 1
             If k = 2 Then Sheet4.Cells(j, 1) = j
             Sheet4.Cells(j, k) = Sheet2.Cells(x, "g")
              If j Mod 11 = 10 And j <> 0 Then
              k = k + 1
              j = 0
               End If
            End If
        Next x
    MsgBox "执行完毕!"
End Sub


祝順心,南無阿彌陀佛!




回复

使用道具 举报

发表于 2021-2-22 19:27 | 显示全部楼层    本楼为最佳答案   
原基础上修改:
  1. Sub 拍鸟清单()
  2.     Dim x As Long, i As Long, j As Long, k As Long
  3.         i = Sheet2.Range("g65536").End(xlUp).Row
  4.         j = 0
  5.         k = 2
  6.         For x = 4 To i
  7.             If Trim(Sheet2.Cells(x, "aa")) = 1 Then
  8.                 j = j + 1
  9.                 Sheet4.Cells(j, k - 1) = (k - 2) * 5 + j
  10.                 Sheet4.Cells(j, k) = Sheet2.Cells(x, "g")
  11.                 If j Mod 11 = 10 And j <> 0 Then
  12.                     k = k + 2
  13.                     j = 0
  14.                 End If
  15.             End If
  16.         Next x
  17.     MsgBox "执行完毕!"
  18. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2021-2-22 20:50 | 显示全部楼层
cutecpu 发表于 2021-2-22 19:16
紅色部份修改、新增

Sub 拍鸟清单()

谢谢 老师给予指导,加上 红色:If k = 2 Then Sheet4.Cells(j, 1) = j,程序里少一个end if ,增加end if,运行出错--“编译错误  end if 没有if块。
不知何原因,请老师再给详解。


谢谢老师!   
阿弥陀佛  随喜功德!!!
回复

使用道具 举报

发表于 2021-2-22 21:08 | 显示全部楼层
凤鸣岐山 发表于 2021-2-22 20:50
谢谢 老师给予指导,加上 红色:If k = 2 Then Sheet4.Cells(j, 1) = j,程序里少一个end if ,增加end if ...



祝順心,南無阿彌陀佛!


log1.png
log2.png
回复

使用道具 举报

 楼主| 发表于 2021-2-22 21:17 | 显示全部楼层
本帖最后由 凤鸣岐山 于 2021-2-22 21:43 编辑

谢谢 老师指导,老师给的这个算法太巧妙,(k - 2) * 5 + j!再请教老师一下,如果单元列为奇数,该怎么表达呢?


谢谢老师!
老师 好!
刚才试了一下,假如是奇数21,公式改成(K-2)*10.5+1即可。

谢谢 老师!

回复

使用道具 举报

 楼主| 发表于 2021-2-22 21:27 | 显示全部楼层
cutecpu 发表于 2021-2-22 21:08
祝順心,南無阿彌陀佛!

谢谢 老师再次指导,可能我表达的不清楚,我要求的是文字单元格,都加上数字序号,c 列序号 d 列文字 。。。。

谢谢老师。

阿弥陀佛  随喜功德!!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 16:37 , Processed in 0.340798 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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