首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >声明范围时出现问题(用于从合并的单元格获取值)

声明范围时出现问题(用于从合并的单元格获取值)
EN

Stack Overflow用户
提问于 2014-10-14 15:19:47
回答 1查看 246关注 0票数 1

我试图通过一个循环逐行遍历(并在另一个工作表上查找特定值)从合并的单元格(位于.find gcell结果的偏移量)中获取值。如果我们要查找的单元格被合并,.This代码将执行以下操作:

通过对合并像元中包含的值使用.Address -looks,-Unmerges -Gets合并像元的限制-重写这些像元上的值

在这一点上它不起作用,我相信由于变量格式,因为.address给出了一个字符串,而属性rows.value和.MergeArea需要一个范围,我的问题是,我如何才能从地址字符串更改为范围?也许像这样我可以解决这个问题。如果你有任何其他的意见,我很乐意倾听。

非常感谢。

代码:

(循环代码未显示,因为IT工作正常)

代码语言:javascript
复制
lineasemergidasCont = gCell.Offset(, 4).MergeArea.Rows.count
                      emergidainicio = gCell.Offset(, 4).Address
                      emergidafinal = gCell.Offset(lineasemergidasCont, 4).Address
  goes well until here------->  Range(emergidainicio, emergidafinal).MergeArea.UnMerge
                                 filainicio = emergidainicio.Rows.Value
                                  filafinal = emergidafinal.Rows.Value
                                       For p = filainicio To filafinal
                                            If  .Cells(p, 10).Value <> "" Then
                                                 .Cells(p, 10).Value = datoemergido
                                            End If
                                       Next p
                                        For s = filainicio To filafinal
                                            datoemergido = .Cells(s, 10).Value
                                       Next s

(代码可以高效地继续)

EN

回答 1

Stack Overflow用户

发布于 2014-10-15 17:06:43

@rory,@patrick lapelletier,@therak,谢谢大家!在这里,我放弃了最终可以工作的代码:

将这些合并的单元格-unmerge -copy其中一个上的值,并将其发布到所有合并的单元格中,然后将该值发布到另一个工作表中-take

它还考虑了可以复制的值,将其余结果添加到旧结果之后。这在一个带有.find函数的循环中工作,该函数在gcell上给出结果

代码语言:javascript
复制
          do
            If gCell.Offset(, 4).MergeArea.Address = gCell.Offset(, 4).Address Then
                              'Not a merged cell
                          If HojaNueva.Cells(F2, 20).Value = "" Then
                               HojaNueva.Cells(F2, 20).Value = gCell.Offset(, 4).Value
                          Else
                            hojito1 = HojaNueva.Cells(F2, 20).Value
                            HojaNueva.Cells(F2, 20).Value = hojito1 & "," & gCell.Offset(, 4).Value
                           End If

                     Else
                            'is a merged cell
                           lineasemergidasCont = gCell.Offset(, 4).MergeArea.Rows.count
                           emergidainicio = gCell.Offset(, 4).Address
                           emergidafinal = gCell.Offset(lineasemergidasCont - 1, 4).Address
                           Range(emergidainicio).MergeArea.UnMerge
                            Range(emergidafinal).MergeArea.UnMerge
                           numeros1 = Range(emergidainicio).Row
                           numeros2 = Range(emergidafinal).Row

                              For p = numeros1 To numeros2
                                  If Not ws.Cells(p, 10).Value = "" Then
                                     datoemergido = ws.Cells(p, 10).Value
                                   End If
                               Next p
                               For s = numeros1 To numeros2
                                       ws.Cells(s, 10).Value = datoemergido
                                Next s
                                 numeros1 = ""
                                 numeros2 = ""

                                If HojaNueva.Cells(F2, 20).Value = "" Then
                                  HojaNueva.Cells(F2, 20).Value = datoemergido
                                 Else
                                  hojito3 = HojaNueva.Cells(F2, 20).Value
                                  HojaNueva.Cells(F2, 20).Value = hojito3 & "," & datoemergido
                                 End If

                             End If

                           Set gCell = ws.Columns("F").FindNext(gCell)

                          Loop While firstAddress <> gCell.Address
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26354839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档