所在位置:主页 > 数据处理 > VBA有关单元格处理的问题

VBA有关单元格处理的问题

发布时间:2023-12-24 08:08来源:www.sf1369.com作者:宇宇

一、VBA有关单元格处理的问题

Sub test()

Dim i, j As Integer

j = 0

For i = 1 To Range(A65000).End(xlUp).Row

If Range(A & i) > 9 Then

j = j + 1

Range(E & j) = Range(A & i)

Range(F & j) = Range(B & i)

End If

Next i

End Sub

可以实现:将A列中所有大于9的数输入到E列。

如果你说的“任意”,是随机的意思,再补充提问。

二、VBA 数据计算,简单的数据运算。

工作表名称上点右键选查看代码,弹出窗口粘贴以下代码

Sub 数据计算()

Dim arr()

n = [b65536].End(xlUp).Row

arr = WorksheetFunction.Transpose(Range(Cells(1, 2), Cells(n, 2)).Value)

For i = 1 To UBound(arr) - 1

If arr(i) > arr(i + 1) Then

m = arr(i) - arr(i + 1)

For h = i + 1 To UBound(arr)

arr(h) = arr(h) + m

Next

End If

Next

Range(C1).Resize(UBound(arr), 1) = WorksheetFunction.Transpose(arr)

End Sub

三、Excel VBA+SQL能处理EXCEL多少条数据

表格能容纳的数据都可以处理,新版表格能容纳104万行左右,2003及以前的低版本只有6万多行。

SQL本身没有行数限制,只要表格能装下都可以处理,只是数据多了、处理复杂的时候需要较多时间等待。

四、判定两数据是否在要求范围内,用VBA代码处理。

在工作表名称标签上点击鼠标右键选查看代码,粘贴以下代码到弹出的VBA编辑窗口关闭VBA编辑窗口

注意:要一次粘贴两列数据才会自动标记符合条件的为1.

代码如下:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range(D2:E22)) Is Nothing Then

For Each rng In Target.Rows

Application.EnableEvents = False

If rng.Cells(1, 1) >= 1000 And rng.Cells(1, 1) <= 2000 And rng.Cells(1, 2) >= 1000 And rng.Cells(1, 2) <= 2000 Then

rng.Cells(1, 1).Offset(0, 3) = 1

Else

rng.Cells(1, 1).Offset(0, 3) =

End If

Application.EnableEvents = True

Next

End If

End Sub

五、VBA是什么程序?

Visual Basic for Applications(VBA)是一种Visual Basic的一种宏语言,主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件。也可说是一种应用程式视觉化的Basic Script。1994年发行的Excel 5.0版本中,即具备了VBA的宏功能。

大多数VBA用于统计数据,进行自动化工作,尤其是处理表格(EXcel)的数据时,写几行VBA可以帮你完成很繁琐的重复工作。

他的语法跟VB非常相似,VBA语法集是VB的子集。