1.按快捷键Alt F11,打开VBA编辑器,在右侧代码窗口中粘贴下列代码:
Sub Ran...
有时需要在Excel中将某个多行多列的区域转换到一列中,下面的VBA代码可以实现这个目的。
1.按快捷键Alt F11,打开VBA编辑器,在右侧代码窗口中粘贴下列代码:
Sub RangeToOneCol()
Dim TheRng, TempArr
Dim i As Integer, j As Integer, elemCount As Integer
On Error GoTo line1
Range("a:a").ClearContents
If Selection.Cells.Count = 1 Then
Range("a1") = Selection
Else
TheRng = Selection
elemCount = UBound(TheRng, 1) * UBound(TheRng, 2)
ReDim TempArr(1 To elemCount, 1 To 1)
For i = 1 To UBound(TheRng, 1)
For j = 1 To UBound(TheRng, 2)
TempArr((i – 1) * UBound(TheRng, 2) j, 1) = TheRng(i, j)
Next
Next
Range("a1:a" & elemCount) = TempArr
End If
line1:
End Sub
Excel取不重复值的四种方法详解
excel取不重复值的方法真是多种多样,比如使用高级筛选、SQL、函数、VBA完成excel取不重复值。下面以一个例子来说明excel取不重复值的方法。 excel取不重复值方法一:高级筛选 A列姓名有重复的,将A列姓名取不重复值之后放在C列。 操作方法是:单击数据——高级,打开&ld
上述代码可以将所选择的区域转换到A列中。
2.关闭VBA编辑器,返回Excel工作表界面。
3.如果A列包含数据,先在工作表的最左侧插入一列,以便放置转换后的数据。
4.选择需要转换的区域,按Alt F8,打开“宏”对话框,选择上述代码中的宏名“RangeToOneCol”运行代码。
Excel 运行时错误9下标越界的处理方法
Excel中vba提示下标超界,说明对象不存在或者数组元素不存在。 举个简单的例子:工作表中没有"1月"这个工作表,却用Sheets("1月");数组定义的是arr(1 to 10),却用Arr(11),都会出现下标越界的提示。 简单的理解:下标越界就是引用超出了所在的范