将范围插入工作表中已使用数据的最后一列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将范围插入工作表中已使用数据的最后一列相关的知识,希望对你有一定的参考价值。
我有一系列双打,我试图写入excel中的某张表。
事情是这张表中已有数据。有很多代码片段,告诉我如何找到已使用数据的最后一列并返回列的NUMBER。但我正在尝试使用范围函数在数组中写入数据,该函数需要一个字母作为字符串。有没有更好的方法来做到这一点?
到目前为止,这是我的代码:
Dim lCol As Integer
With GlobVars.Wksht
lCol = .Cells(1, .Columns.Count).End(Excel.XlDirection.xlToLeft).Column
End With
lCol += 1
GlobVars.Wksht.Range("I need something in these parentheses that will relate the lcol value and whatever row I want to put it in").Value = deltaxyarr 'copies the deltaxyarr as a range into the current active worksheet (data reduction)
答案
要将数组传输到工作表,您需要使Range的大小与数组的大小相同。为此,您可以使用方便的Resize属性。事情是这样的:
Sub TransferArray()
Dim arr As Variant
'Copy range into array.
'This array is 1) always 2-dimensional and 2) its lower bound is always 1.
arr = Range("A1:F10")
'To transer array, the receiving range should accomodate array fully.
'To do it, we can use Resize property.
'This means, all we need is to choose top left cell of our receiving range.
'Here K1 cell is this very cell.
'The RowSize argument means how many rows we should expand down,
'and ColumnSize - how many column we should expand right.
'Apparently, these numbers are upper bound of 1-st dimension
'and upper bound of 2-nd dimension, respectively.
Range("K1").Resize(UBound(arr, 1), UBound(arr, 2)).Value = arr
End Sub
另一答案
感谢Where我能够使用Cells.Address成员获得一些代码。这是我发现的代码片段:
lCol = .Cells(1, .Columns.Count).End(Excel.XlDirection.xlToLeft).Column
lCol += 1
GlobVars.Wksht.Range(GlobVars.Wksht.Cells(1, lCol).Address).Resize(UBound(deltaxyarr, 1), UBound(deltaxyarr, 2)).Value = deltaxyarr
以上是关于将范围插入工作表中已使用数据的最后一列的主要内容,如果未能解决你的问题,请参考以下文章
使用 Python 将 Csv 文件写入 SQL Server 数据库中已有的表
利用vba怎样编写将工作表中第三行到最后一行(不确定)的数据复制并插入到另一个工作表的第二行前?
ASP.NET 在尝试插入 MS Access DB 时出错