VBA求高手 在线等 用For语句对比两列数据大小

RT,Sheet 1 有两列数据A列和B列,均为数字,将每一行的A列数据和B列数据做大小对比,如果A比B大,Sheet 2中第一列对应的行输出1,A小于B输出2,A等于B输出3.。 求个VB大腿解答该如何编码!

=IF(VALUE(Sheet1!A1)>VALUE(Sheet1!B1),1,IF(Sheet1!A1<Sheet1!B1,2,3))

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-12-14
Sub tset()
Dim jgarr(1 To 10000, 1 To 1) '这个10000是设定的最大值,如果实际应用中的序列号大于10000,需要根据实际情况来调整
Dim i%, j As Double, ZZ As Double, AAA As Range
ZZ = Worksheets("Sheet1").Range("A65535").End(3).Row
For i = 1 To ZZ
With Worksheets("Sheet1")
If .Cells(i, 1) > .Cells(i, 2) Then jgarr(i, 1) = 1
If .Cells(i, 1) < .Cells(i, 2) Then jgarr(i, 1) = 2
If .Cells(i, 1) = .Cells(i, 2) Then jgarr(i, 1) = 3
End With
Next i
'输出结果
Worksheets("Sheet2").Cells(1, 1).Resize(ZZ, 1) = jgarr
End Sub追问

执行的时候提示下标越界是咋回事呢

本回答被提问者和网友采纳

VBA求高手 在线等 用For语句对比两列数据大小
=IF(VALUE(Sheet1!A1)>VALUE(Sheet1!B1),1,IF(Sheet1!A1<Sheet1!B1,2,3))

在excel中,用VBA实现两列数据的比较
实现代码如下:1234567891011121314151617Sub abc() Dim D As Object, i As Integer, index As Integer Set D = CreateObject("scripting.dictionary") With Sheet1 For i = 1 To Range("b65536").End(xlUp).Row D(.Cells(i, 2).Value) = "" Next For i = 1 To R...

VBA 在EXCEL中能不能 对两列名称进行对比 筛选 并将不同项列出来
函数,先读第一列第一个数据为A1,然后读第二列数据,每个都同A1比较,相同的忽略,不同的将数值付给一个变量;然后再读第二个数据A2,重复读第二列数据,进行比较---直至两列数据全部结束,这里面用到IF..THEN..ELSE..ENDIF ,FOR...NEXT语句 ...

使用excel vba自动对比两列时间数字
相信使用条件格式,是最简单的。选定数列1,再依次选择菜单 格式 条件格式 弹出条件格式对话框 第一个下拉框选 公式,后面框中输入 =COUNTIF($B$2:$B$15,"=" & $A2)=0 格式再选择下自己喜欢的 下面图是个简单例子

vba excel两个sheet里的两列数据进行对比,提取不同的数据写到另一个she...
To UBound(arr, 1) For j = 1 To UBound(brr, 1) If arr(i, 1) = brr(j, 1) Then b = True: Exit For Next If b = False Then crr(x) = arr(i, 1): x = x + 1 b = FalseNext[a1].Resize(x - 1, 1) = Application.Transpose(crr)...

vba找两列数据的相同的项,高手请进
Sub数组法()Dimarr1,arr2,arr3()arr1=Range("A1:A13")arr2=Range("B1:B13")Fori=1ToUBound(arr1)Forj=1ToUBound(arr2)Ifarr1(i,1)=arr2(j,1)ThenIfInStr(Join(arr3,","),arr1(i,1))=0Thenn=n+1ReDimPr

Excel 如何通过VBA来实现两列数据的对比
问题描述不清,对比有很多种,大小,相等,字符串包含,字符串相等。。。比较后的结果放在哪里?两列数据是否在同一张表?同一工作簿?还是。。。

excel中vba用for语句对多个单元格赋值的问题
Sheet1.Range("c" & z) = Application.WorksheetFunction.Sum(Sheets(z).Range("i4:i35"))改成上面这样即可。多练习。照抄别人代码再修改也是很好学习,多看excelhome论坛。

用VBA字典实现查找两列数据
使用for循环 以前两列为字典变量关键字 进行遍历 然后在后表再次根据关键字匹配,返回值啊 Sub 按钮3_Click() Application.ScreenUpdating = False Set d = CreateObject("scripting.dictionary") Set dd = CreateObject("scripting.dictionary") arr = [a1].CurrentRegion For j = 2 T...

VBA中判断两列数据是否有相同的 如果有将相同的数值写在制定格内,求代...
Range("B6") = ""If WorksheetFunction.CountA(Range("A1:A5,C1:C5")) = 10 Then For i = 1 To 5 If WorksheetFunction.CountIf(Range("C1:C5"), Cells(i, 1)) > 0 Then If Range("B6") = "" Then Range("B6") = Cells(i, 1)Else Range("B6") = Range("B6") & "&"...

相似回答