excel - 元素未从数组中获取值
问题描述
我正在研究将数据从特定列复制到另一个工作表的宏,并且我试图使用数组来获取列名,因为它们将来可能会发生变化。出于某种原因,当单步执行循环填充数组时,我可以看到值正在正确加载,但是当我进入 For Each 循环时,元素始终为空。我觉得有一个简单的修复,但我就是看不到它。
我试过移动东西并将元素声明为变体,但同样的过程在另一个宏中工作得很好,所以我很难过。
Dim rows As Integer
Dim OneZeroCol As Integer
Dim FromCol As Integer
Dim ToCol As Integer
Dim i As Integer
Dim ADcols As Integer
Dim el As Integer
Dim element As Variant
Dim colArray() As String
el = AD.Cells(1, Columns.Count).End(xlToLeft).Column
OneZeroCol = AD.Cells.Find(What:="1/0", SearchDirection:=xlPrevious).Column
rows = (TD.Cells.Find(What:="*", SearchDirection:=xlPrevious).Row)
ReDim colArray(el)
'load values into array
For i = 1 To OneZeroCol - 1
colArray(i) = AD.Cells(1, i).Value
Next i
'ERROR: ELEMENT COMING THROUGH EMPTY?? VALUE LOAD IS SUCCESSFUL BUT FAILS IN LOOP 18-10-19
'loop to copy data
For Each element In colArray
FromCol = TD.Range("1:1").Find(element, LookIn:=xlValues, lookat:=xlWhole).Column
ToCol = AD.Range("1:1").Find(element, LookIn:=xlValues, lookat:=xlWhole).Column
For i = 2 To rows
AD.Cells(i, ToCol).Value = TD.Cells(i, FromCol).Value
Next i
Next element
End Sub
解决方案
推荐阅读
- css - 有没有办法阻止 Visual Studio 代码自动格式化多个选择器?
- r - 按没有日期的时间过滤数据
- python - web2py - 选择数据库
- algorithm - 将数组拆分为 2 的时间复杂度是多少
- vue.js - 如何使用 moment.js 通过 vue.js 格式化日期?
- xamarin - CollectionView 项目添加中的视频播放器会导致视频帧随机播放 Xamarin Forms
- c++ - 为什么 rapidjson 无法获得这个整数值
- algorithm - Master theorem - 最好的情况大哦?
- javascript - 在 JS 中,如何通过解构另一个函数来重新声明函数参数变量?
- ruby-on-rails - “捆绑安装失败”在灌输 nokogiri (1.10.9) 时发生错误,并且 Bundler 无法在 Cloud9 Ubuntu OS 上运行的 CS50 IDE 上继续