数据的特点是,在同一个excel文件中存在两个sheet,他们的数据结构是一样的,其中一个中的数据是另一个的子集,目的是要找出他们的不同,即找出在那张大些的sheet中存在,但在那张小些的sheet中不存在的记录(行),并把它保存到第三个sheet或某个sheet的其他空白地方。
21 个解决方案
#1
用CS-ExcelDiff 1.0工具比较
下载地址:http://download.com.com/3000-2077-10180310.html?tag=lst-0-4
下载地址:http://download.com.com/3000-2077-10180310.html?tag=lst-0-4
#2
首先谢谢你的帮忙。
根据你提供的信息,我下载了该软件,并尝试使用。经过几次尝试,发掘该软件并不能完成我需要做的工作。当我试图做的时候提示如下:
CANNOT COMPARE!!!
REASON: DIFFERENT NUMBER OF FRAMES.
该软件要求不同的excel表中选中的sheet重要有相同的行数(即记录数),他能比较出相同行中相应数据发生的变化。而我要做的工作正是在同一个excel文件中2个sheet中有不同的行数,其中一个是另一个的子集,即只要它们都有的记录一定是相同的,需要找出全集中子集中不包含的记录。
根据你提供的信息,我下载了该软件,并尝试使用。经过几次尝试,发掘该软件并不能完成我需要做的工作。当我试图做的时候提示如下:
CANNOT COMPARE!!!
REASON: DIFFERENT NUMBER OF FRAMES.
该软件要求不同的excel表中选中的sheet重要有相同的行数(即记录数),他能比较出相同行中相应数据发生的变化。而我要做的工作正是在同一个excel文件中2个sheet中有不同的行数,其中一个是另一个的子集,即只要它们都有的记录一定是相同的,需要找出全集中子集中不包含的记录。
#3
我好像听说过可以在office中用vb进行编程的。不知道通过vb的编程利用数据库的查询功能可否实现?
请那位高手指点一下!
请那位高手指点一下!
#4
首先推荐你用EXCEL的高级筛选,具体方法如下:
在大的一张表中加入一列(设为列F,标题为"SHEET"),全部填入“大”或其他任何字符,小的表也一样,不过必须填入一个与大表完全不同的符号。这样,两张表的结构完全一样,这很重要。
step1:两张表拼成一张表,第一行为标题行,列F记录着记录来自哪一张原始表;
step2:选择“数据”——>”筛选“-->"高级筛选”,高级筛选的“数据区域”为合并后的表,条件设置可参考exceL帮助,注意,在最后一个单选框中,一定要选择“选择不重复记录”。
这样完全可以得到你所需要的结果。
如果你不会设置筛选条件的话,可与我联系。
我编过一个这样的程序,他的功能是在一个工作簿中至少有两个表(sheet1,sheet2,...),sheet1和sheet2有一列数据(设为a列)需要进行比较,我的程序是把sheet1的a列中的数据于sheet2的某一列比较,如果在sheet2中出现过,就写可以识别出来,把它删或作上一个excel可识别的标记。
如果需要程序的话,可与我联系。
联系方法:X810214@hotmail.com
在大的一张表中加入一列(设为列F,标题为"SHEET"),全部填入“大”或其他任何字符,小的表也一样,不过必须填入一个与大表完全不同的符号。这样,两张表的结构完全一样,这很重要。
step1:两张表拼成一张表,第一行为标题行,列F记录着记录来自哪一张原始表;
step2:选择“数据”——>”筛选“-->"高级筛选”,高级筛选的“数据区域”为合并后的表,条件设置可参考exceL帮助,注意,在最后一个单选框中,一定要选择“选择不重复记录”。
这样完全可以得到你所需要的结果。
如果你不会设置筛选条件的话,可与我联系。
我编过一个这样的程序,他的功能是在一个工作簿中至少有两个表(sheet1,sheet2,...),sheet1和sheet2有一列数据(设为a列)需要进行比较,我的程序是把sheet1的a列中的数据于sheet2的某一列比较,如果在sheet2中出现过,就写可以识别出来,把它删或作上一个excel可识别的标记。
如果需要程序的话,可与我联系。
联系方法:X810214@hotmail.com
#5
我读的时候发现有的时候明明在 Excel中有数据但用ADO读却说为NULL,望各位指教
#6
vlookup本能实现比较功能吗?
#7
正迷茫中,还有那位高手能帮忙?
#8
有高手可以介绍一下吗?
#9
Enetfox():
FlySay(天长笑)的那个程序发给你了吗?如果有的话,你把它也给我一份吧,谢谢了!
cityview@163.com
FlySay(天长笑)的那个程序发给你了吗?如果有的话,你把它也给我一份吧,谢谢了!
cityview@163.com
#10
没有,我没有想他要,你要的话自己和他说一下吧。
#11
Sub macro()
Dim i As Integer
Dim j As Integer
For i = 1 To 4
For j = 1 To 3
If Sheet1.Cells(i, 1).Value = Sheet2.Cells(j, 1).Value Then
Sheet1.Cells(i, 2).Value = 1
End If
Next
Next
Dim used As Range
Set used = Sheet1.UsedRange
Dim sum As Integer
sum = used.Rows.Count
Dim z As Integer
Dim k As Integer
k = 1
For z = 1 To sum
If Sheet1.Cells(z, 2).Value = "" Then
Sheet3.Cells(k, 1).Value = Sheet1.Cells(z, 1).Value
k = k + 1
End If
Next
End Sub
Dim i As Integer
Dim j As Integer
For i = 1 To 4
For j = 1 To 3
If Sheet1.Cells(i, 1).Value = Sheet2.Cells(j, 1).Value Then
Sheet1.Cells(i, 2).Value = 1
End If
Next
Next
Dim used As Range
Set used = Sheet1.UsedRange
Dim sum As Integer
sum = used.Rows.Count
Dim z As Integer
Dim k As Integer
k = 1
For z = 1 To sum
If Sheet1.Cells(z, 2).Value = "" Then
Sheet3.Cells(k, 1).Value = Sheet1.Cells(z, 1).Value
k = k + 1
End If
Next
End Sub
#12
winternet()
能解释一下你的程序吗?
小弟还很菜,看得不是很明白。
能解释一下你的程序吗?
小弟还很菜,看得不是很明白。
#13
首先对各位表示抱歉,我前面所提到的采用筛选的方法是行不通的.经过实际操作,应该使用if和match函数.其原理如下:
把sheet1中的每一个值在sheet2中查找一遍,lookup_value设为sheet1中待查找的一个单元格,lookup_array设为sheet2中包含有sheet1的重复数据的区域(一定为绝对引用才行),match_type设为0.在sheet1中的一个单元格写好后使用自动填充.再采用if语句进行判断match成功与否,而赋予单元格不同的值.再使用筛选,选出match failed的记录.
我做了一个简单的实验,sheet1中为1-18的连续整数,shee2中为1-55的连续奇数,用上面的方法可以把sheet1中的,没有在sheet2中出现过的数据标记出来.
再次表示抱歉.
把sheet1中的每一个值在sheet2中查找一遍,lookup_value设为sheet1中待查找的一个单元格,lookup_array设为sheet2中包含有sheet1的重复数据的区域(一定为绝对引用才行),match_type设为0.在sheet1中的一个单元格写好后使用自动填充.再采用if语句进行判断match成功与否,而赋予单元格不同的值.再使用筛选,选出match failed的记录.
我做了一个简单的实验,sheet1中为1-18的连续整数,shee2中为1-55的连续奇数,用上面的方法可以把sheet1中的,没有在sheet2中出现过的数据标记出来.
再次表示抱歉.
#14
同时我贴出我程序的源码聊表歉意:
Sub DataCheck()
'
' Flaysay 2003.03.15
'This program is used to find out the different data in two table
'sheets(1) has records which also exist in sheets(2),and these data can be marked by
'the program.Before running ,first,shoud insert a column in the front for outputing
'the results,I will mark the data with a "yes" in the added column in the same row.
'Then,the paraments "DataToCheck" shoud be modified,it indicates the total count of data
'in sheet(1)
Const DataToCheck As Long = 2371 'sheet1中记录的总数
Dim InRow As Long, InCol As Long 'inrow表示sheet1中当前的行号,incol表示列号
Dim CurrentCell As Range 'currentcell表示从sheet2中搜到的单元格,当sheet2中不存在时,返回nothing
Dim OutCol As Long '记号输出列
InCol = 2 '处理sheet1中第2列
For InRow = 2 To DataToCheck
'待比较的数据从sheet1的row2开始至行datatocheck止
Set CurrentCell = Sheets(2).Cells.Find(What:=Trim(Sheets(1).Cells(InRow, InCol)), After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False)
'在sheet2中查找sheet1.cells(inrow,incol)
If Not CurrentCell Is Nothing Then
Sheets(1).Cells(InRow, OutCol) = "Yes" '如果sheet2中已存在,在sheet1的单元格(inrow,outcol)中输入"YES"
End If
Next InRow
End Sub
Sub DataCheck()
'
' Flaysay 2003.03.15
'This program is used to find out the different data in two table
'sheets(1) has records which also exist in sheets(2),and these data can be marked by
'the program.Before running ,first,shoud insert a column in the front for outputing
'the results,I will mark the data with a "yes" in the added column in the same row.
'Then,the paraments "DataToCheck" shoud be modified,it indicates the total count of data
'in sheet(1)
Const DataToCheck As Long = 2371 'sheet1中记录的总数
Dim InRow As Long, InCol As Long 'inrow表示sheet1中当前的行号,incol表示列号
Dim CurrentCell As Range 'currentcell表示从sheet2中搜到的单元格,当sheet2中不存在时,返回nothing
Dim OutCol As Long '记号输出列
InCol = 2 '处理sheet1中第2列
For InRow = 2 To DataToCheck
'待比较的数据从sheet1的row2开始至行datatocheck止
Set CurrentCell = Sheets(2).Cells.Find(What:=Trim(Sheets(1).Cells(InRow, InCol)), After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False)
'在sheet2中查找sheet1.cells(inrow,incol)
If Not CurrentCell Is Nothing Then
Sheets(1).Cells(InRow, OutCol) = "Yes" '如果sheet2中已存在,在sheet1的单元格(inrow,outcol)中输入"YES"
End If
Next InRow
End Sub
#15
谢谢flysay。
再问一个问题,怎么得到excel表中的数据的行数?
再问一个问题,怎么得到excel表中的数据的行数?
#16
在excel公式中用row()函数
#17
在程序中能使用这个函数吗?
我在程序中写了如下语句:
dim rowcount as long
row=excel.rows
运行时发生错误,详细信息是:运行时错误'7': 内存益处
请问为什么?怎么正确使用该函数?或者是在程序中有别的方法可以获得excel文件中某个sheets的数据行数码?
我在程序中写了如下语句:
dim rowcount as long
row=excel.rows
运行时发生错误,详细信息是:运行时错误'7': 内存益处
请问为什么?怎么正确使用该函数?或者是在程序中有别的方法可以获得excel文件中某个sheets的数据行数码?
#18
Sub macre()
Dim sheet As Worksheet
Set sheet = ThisWorkbook.ActiveSheet
Dim used As Range
Set used = sheet.UsedRange
Dim rowcount As Long
rowcount = used.Rows.Count
MsgBox rowcount
End Sub
Dim sheet As Worksheet
Set sheet = ThisWorkbook.ActiveSheet
Dim used As Range
Set used = sheet.UsedRange
Dim rowcount As Long
rowcount = used.Rows.Count
MsgBox rowcount
End Sub
#19
row函数是直接输入到单元格中的.
在vba中可以使用row,column属性来得到对象的行号和列号,如果对象包含多个单元格,那它返回区域中第一块的第一行的行号。Long 类型,只读
Sub test()
Dim currentcell As Range
Set currentcell = Sheet1.Cells(1, 3)
RowNo = currentcell.Row
columnNo = currentcell.Column
End Sub
在vba中可以使用row,column属性来得到对象的行号和列号,如果对象包含多个单元格,那它返回区域中第一块的第一行的行号。Long 类型,只读
Sub test()
Dim currentcell As Range
Set currentcell = Sheet1.Cells(1, 3)
RowNo = currentcell.Row
columnNo = currentcell.Column
End Sub
#20
excel vba帮助文档中的例子
本示例显示 Sheet1 选定区域的行数。如果是多重选定区域,本示例将对每一个子区域进行循环。
Worksheets("Sheet1").Activate
areaCount = Selection.Areas.Count
If areaCount <= 1 Then
MsgBox "The selection contains " & _
Selection.Rows.Count & " rows."
Else
i = 1
For Each a In Selection.Areas
MsgBox "Area " & i & " of the selection contains " & _
a.Rows.Count & " rows."
i = i + 1
Next a
End If
本示例显示 Sheet1 选定区域的行数。如果是多重选定区域,本示例将对每一个子区域进行循环。
Worksheets("Sheet1").Activate
areaCount = Selection.Areas.Count
If areaCount <= 1 Then
MsgBox "The selection contains " & _
Selection.Rows.Count & " rows."
Else
i = 1
For Each a In Selection.Areas
MsgBox "Area " & i & " of the selection contains " & _
a.Rows.Count & " rows."
i = i + 1
Next a
End If
#21
谢谢 flysay and winternet,感谢你们一直以来的无私帮助,特别是flysay(天长笑).
#1
用CS-ExcelDiff 1.0工具比较
下载地址:http://download.com.com/3000-2077-10180310.html?tag=lst-0-4
下载地址:http://download.com.com/3000-2077-10180310.html?tag=lst-0-4
#2
首先谢谢你的帮忙。
根据你提供的信息,我下载了该软件,并尝试使用。经过几次尝试,发掘该软件并不能完成我需要做的工作。当我试图做的时候提示如下:
CANNOT COMPARE!!!
REASON: DIFFERENT NUMBER OF FRAMES.
该软件要求不同的excel表中选中的sheet重要有相同的行数(即记录数),他能比较出相同行中相应数据发生的变化。而我要做的工作正是在同一个excel文件中2个sheet中有不同的行数,其中一个是另一个的子集,即只要它们都有的记录一定是相同的,需要找出全集中子集中不包含的记录。
根据你提供的信息,我下载了该软件,并尝试使用。经过几次尝试,发掘该软件并不能完成我需要做的工作。当我试图做的时候提示如下:
CANNOT COMPARE!!!
REASON: DIFFERENT NUMBER OF FRAMES.
该软件要求不同的excel表中选中的sheet重要有相同的行数(即记录数),他能比较出相同行中相应数据发生的变化。而我要做的工作正是在同一个excel文件中2个sheet中有不同的行数,其中一个是另一个的子集,即只要它们都有的记录一定是相同的,需要找出全集中子集中不包含的记录。
#3
我好像听说过可以在office中用vb进行编程的。不知道通过vb的编程利用数据库的查询功能可否实现?
请那位高手指点一下!
请那位高手指点一下!
#4
首先推荐你用EXCEL的高级筛选,具体方法如下:
在大的一张表中加入一列(设为列F,标题为"SHEET"),全部填入“大”或其他任何字符,小的表也一样,不过必须填入一个与大表完全不同的符号。这样,两张表的结构完全一样,这很重要。
step1:两张表拼成一张表,第一行为标题行,列F记录着记录来自哪一张原始表;
step2:选择“数据”——>”筛选“-->"高级筛选”,高级筛选的“数据区域”为合并后的表,条件设置可参考exceL帮助,注意,在最后一个单选框中,一定要选择“选择不重复记录”。
这样完全可以得到你所需要的结果。
如果你不会设置筛选条件的话,可与我联系。
我编过一个这样的程序,他的功能是在一个工作簿中至少有两个表(sheet1,sheet2,...),sheet1和sheet2有一列数据(设为a列)需要进行比较,我的程序是把sheet1的a列中的数据于sheet2的某一列比较,如果在sheet2中出现过,就写可以识别出来,把它删或作上一个excel可识别的标记。
如果需要程序的话,可与我联系。
联系方法:X810214@hotmail.com
在大的一张表中加入一列(设为列F,标题为"SHEET"),全部填入“大”或其他任何字符,小的表也一样,不过必须填入一个与大表完全不同的符号。这样,两张表的结构完全一样,这很重要。
step1:两张表拼成一张表,第一行为标题行,列F记录着记录来自哪一张原始表;
step2:选择“数据”——>”筛选“-->"高级筛选”,高级筛选的“数据区域”为合并后的表,条件设置可参考exceL帮助,注意,在最后一个单选框中,一定要选择“选择不重复记录”。
这样完全可以得到你所需要的结果。
如果你不会设置筛选条件的话,可与我联系。
我编过一个这样的程序,他的功能是在一个工作簿中至少有两个表(sheet1,sheet2,...),sheet1和sheet2有一列数据(设为a列)需要进行比较,我的程序是把sheet1的a列中的数据于sheet2的某一列比较,如果在sheet2中出现过,就写可以识别出来,把它删或作上一个excel可识别的标记。
如果需要程序的话,可与我联系。
联系方法:X810214@hotmail.com
#5
我读的时候发现有的时候明明在 Excel中有数据但用ADO读却说为NULL,望各位指教
#6
vlookup本能实现比较功能吗?
#7
正迷茫中,还有那位高手能帮忙?
#8
有高手可以介绍一下吗?
#9
Enetfox():
FlySay(天长笑)的那个程序发给你了吗?如果有的话,你把它也给我一份吧,谢谢了!
cityview@163.com
FlySay(天长笑)的那个程序发给你了吗?如果有的话,你把它也给我一份吧,谢谢了!
cityview@163.com
#10
没有,我没有想他要,你要的话自己和他说一下吧。
#11
Sub macro()
Dim i As Integer
Dim j As Integer
For i = 1 To 4
For j = 1 To 3
If Sheet1.Cells(i, 1).Value = Sheet2.Cells(j, 1).Value Then
Sheet1.Cells(i, 2).Value = 1
End If
Next
Next
Dim used As Range
Set used = Sheet1.UsedRange
Dim sum As Integer
sum = used.Rows.Count
Dim z As Integer
Dim k As Integer
k = 1
For z = 1 To sum
If Sheet1.Cells(z, 2).Value = "" Then
Sheet3.Cells(k, 1).Value = Sheet1.Cells(z, 1).Value
k = k + 1
End If
Next
End Sub
Dim i As Integer
Dim j As Integer
For i = 1 To 4
For j = 1 To 3
If Sheet1.Cells(i, 1).Value = Sheet2.Cells(j, 1).Value Then
Sheet1.Cells(i, 2).Value = 1
End If
Next
Next
Dim used As Range
Set used = Sheet1.UsedRange
Dim sum As Integer
sum = used.Rows.Count
Dim z As Integer
Dim k As Integer
k = 1
For z = 1 To sum
If Sheet1.Cells(z, 2).Value = "" Then
Sheet3.Cells(k, 1).Value = Sheet1.Cells(z, 1).Value
k = k + 1
End If
Next
End Sub
#12
winternet()
能解释一下你的程序吗?
小弟还很菜,看得不是很明白。
能解释一下你的程序吗?
小弟还很菜,看得不是很明白。
#13
首先对各位表示抱歉,我前面所提到的采用筛选的方法是行不通的.经过实际操作,应该使用if和match函数.其原理如下:
把sheet1中的每一个值在sheet2中查找一遍,lookup_value设为sheet1中待查找的一个单元格,lookup_array设为sheet2中包含有sheet1的重复数据的区域(一定为绝对引用才行),match_type设为0.在sheet1中的一个单元格写好后使用自动填充.再采用if语句进行判断match成功与否,而赋予单元格不同的值.再使用筛选,选出match failed的记录.
我做了一个简单的实验,sheet1中为1-18的连续整数,shee2中为1-55的连续奇数,用上面的方法可以把sheet1中的,没有在sheet2中出现过的数据标记出来.
再次表示抱歉.
把sheet1中的每一个值在sheet2中查找一遍,lookup_value设为sheet1中待查找的一个单元格,lookup_array设为sheet2中包含有sheet1的重复数据的区域(一定为绝对引用才行),match_type设为0.在sheet1中的一个单元格写好后使用自动填充.再采用if语句进行判断match成功与否,而赋予单元格不同的值.再使用筛选,选出match failed的记录.
我做了一个简单的实验,sheet1中为1-18的连续整数,shee2中为1-55的连续奇数,用上面的方法可以把sheet1中的,没有在sheet2中出现过的数据标记出来.
再次表示抱歉.
#14
同时我贴出我程序的源码聊表歉意:
Sub DataCheck()
'
' Flaysay 2003.03.15
'This program is used to find out the different data in two table
'sheets(1) has records which also exist in sheets(2),and these data can be marked by
'the program.Before running ,first,shoud insert a column in the front for outputing
'the results,I will mark the data with a "yes" in the added column in the same row.
'Then,the paraments "DataToCheck" shoud be modified,it indicates the total count of data
'in sheet(1)
Const DataToCheck As Long = 2371 'sheet1中记录的总数
Dim InRow As Long, InCol As Long 'inrow表示sheet1中当前的行号,incol表示列号
Dim CurrentCell As Range 'currentcell表示从sheet2中搜到的单元格,当sheet2中不存在时,返回nothing
Dim OutCol As Long '记号输出列
InCol = 2 '处理sheet1中第2列
For InRow = 2 To DataToCheck
'待比较的数据从sheet1的row2开始至行datatocheck止
Set CurrentCell = Sheets(2).Cells.Find(What:=Trim(Sheets(1).Cells(InRow, InCol)), After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False)
'在sheet2中查找sheet1.cells(inrow,incol)
If Not CurrentCell Is Nothing Then
Sheets(1).Cells(InRow, OutCol) = "Yes" '如果sheet2中已存在,在sheet1的单元格(inrow,outcol)中输入"YES"
End If
Next InRow
End Sub
Sub DataCheck()
'
' Flaysay 2003.03.15
'This program is used to find out the different data in two table
'sheets(1) has records which also exist in sheets(2),and these data can be marked by
'the program.Before running ,first,shoud insert a column in the front for outputing
'the results,I will mark the data with a "yes" in the added column in the same row.
'Then,the paraments "DataToCheck" shoud be modified,it indicates the total count of data
'in sheet(1)
Const DataToCheck As Long = 2371 'sheet1中记录的总数
Dim InRow As Long, InCol As Long 'inrow表示sheet1中当前的行号,incol表示列号
Dim CurrentCell As Range 'currentcell表示从sheet2中搜到的单元格,当sheet2中不存在时,返回nothing
Dim OutCol As Long '记号输出列
InCol = 2 '处理sheet1中第2列
For InRow = 2 To DataToCheck
'待比较的数据从sheet1的row2开始至行datatocheck止
Set CurrentCell = Sheets(2).Cells.Find(What:=Trim(Sheets(1).Cells(InRow, InCol)), After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False)
'在sheet2中查找sheet1.cells(inrow,incol)
If Not CurrentCell Is Nothing Then
Sheets(1).Cells(InRow, OutCol) = "Yes" '如果sheet2中已存在,在sheet1的单元格(inrow,outcol)中输入"YES"
End If
Next InRow
End Sub
#15
谢谢flysay。
再问一个问题,怎么得到excel表中的数据的行数?
再问一个问题,怎么得到excel表中的数据的行数?
#16
在excel公式中用row()函数
#17
在程序中能使用这个函数吗?
我在程序中写了如下语句:
dim rowcount as long
row=excel.rows
运行时发生错误,详细信息是:运行时错误'7': 内存益处
请问为什么?怎么正确使用该函数?或者是在程序中有别的方法可以获得excel文件中某个sheets的数据行数码?
我在程序中写了如下语句:
dim rowcount as long
row=excel.rows
运行时发生错误,详细信息是:运行时错误'7': 内存益处
请问为什么?怎么正确使用该函数?或者是在程序中有别的方法可以获得excel文件中某个sheets的数据行数码?
#18
Sub macre()
Dim sheet As Worksheet
Set sheet = ThisWorkbook.ActiveSheet
Dim used As Range
Set used = sheet.UsedRange
Dim rowcount As Long
rowcount = used.Rows.Count
MsgBox rowcount
End Sub
Dim sheet As Worksheet
Set sheet = ThisWorkbook.ActiveSheet
Dim used As Range
Set used = sheet.UsedRange
Dim rowcount As Long
rowcount = used.Rows.Count
MsgBox rowcount
End Sub
#19
row函数是直接输入到单元格中的.
在vba中可以使用row,column属性来得到对象的行号和列号,如果对象包含多个单元格,那它返回区域中第一块的第一行的行号。Long 类型,只读
Sub test()
Dim currentcell As Range
Set currentcell = Sheet1.Cells(1, 3)
RowNo = currentcell.Row
columnNo = currentcell.Column
End Sub
在vba中可以使用row,column属性来得到对象的行号和列号,如果对象包含多个单元格,那它返回区域中第一块的第一行的行号。Long 类型,只读
Sub test()
Dim currentcell As Range
Set currentcell = Sheet1.Cells(1, 3)
RowNo = currentcell.Row
columnNo = currentcell.Column
End Sub
#20
excel vba帮助文档中的例子
本示例显示 Sheet1 选定区域的行数。如果是多重选定区域,本示例将对每一个子区域进行循环。
Worksheets("Sheet1").Activate
areaCount = Selection.Areas.Count
If areaCount <= 1 Then
MsgBox "The selection contains " & _
Selection.Rows.Count & " rows."
Else
i = 1
For Each a In Selection.Areas
MsgBox "Area " & i & " of the selection contains " & _
a.Rows.Count & " rows."
i = i + 1
Next a
End If
本示例显示 Sheet1 选定区域的行数。如果是多重选定区域,本示例将对每一个子区域进行循环。
Worksheets("Sheet1").Activate
areaCount = Selection.Areas.Count
If areaCount <= 1 Then
MsgBox "The selection contains " & _
Selection.Rows.Count & " rows."
Else
i = 1
For Each a In Selection.Areas
MsgBox "Area " & i & " of the selection contains " & _
a.Rows.Count & " rows."
i = i + 1
Next a
End If
#21
谢谢 flysay and winternet,感谢你们一直以来的无私帮助,特别是flysay(天长笑).