ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

【求助】数组赋值给单元格出现类型不匹配错误!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-1-26 14:10 | 显示全部楼层 |阅读模式
下面数组strN中存储的是字符串(有的比较长),赋值给单元格区域时,一开始正常,后来表格“奖罚”添加的数据多了,就出现类型不匹配错误,不知道为什么,请高手指点一下迷径。代码如下,加粗处出现错误!
Sub 生成奖罚单()
   
    Application.ScreenUpdating = False
   
    Dim i As Integer, j As Integer, k As Integer
    Dim strN(25), N(), strName()
    N = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
    strName = Array("检一", "检二", "电一", "电二", "原一", "原二", "水洗", "装一", "装二", "采制化", "铲车", "集控", "库房")
   

    With Sheets("奖罚")
   
        j = .[a65536].End(xlUp).Row
        
        For k = 0 To 12
            
        
            For i = 2 To j
            
                If .Cells(i, 1) = strName(k) Then
               
                    N(k) = N(k) + 1
                    
                    If (Len(strN(2 * k)) + Len(.Cells(i, 7)) + 7) < 1024 Then
                        
                        strN(2 * k) = strN(2 * k) & "【" & N(k) & "】" & .Cells(i, 7) & "。"
                    
                    Else
                    
                        strN(2 * k + 1) = strN(2 * k + 1) & "【" & N(k) & "】" & .Cells(i, 7) & "。"
                    
                    End If
               
                End If
               
            Next
            
        
        Next
   
    End With
   
    With Sheets("奖罚明细")
        

       .Rows("3:28").Hidden = False
      .Range("b3:b28") = Application.Transpose(strN)        '这句调试正常,但奖罚表添加项目多的时候,有时候出现错误:类型不匹配,不知道怎么回事?        
    End With
   
    Application.ScreenUpdating = True
   
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-1-29 09:36 | 显示全部楼层
恳求各位高手指导一下,着急使用,但不知问题所在?
问题的关键是有时正常,有时候报错,而且“奖罚”表格数据的格式都是一样的,也就是每行一条奖罚记录。

TA的精华主题

TA的得分主题

发表于 2016-7-6 15:17 | 显示全部楼层
不要用转置函数试试:
for i=3 to 38
cells(i,3)=strN(i-3)
next i

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

本版积分规则

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

GMT+8, 2024-11-26 07:41 , Processed in 0.039741 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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