利用EXCEL中的VBA实现以下功能,急!

A列和B列为基础数据,利用VBA,生成右侧结果,用逗号分隔。
最好将结果另存为txt的格式。

非常着急,我有多少分就加多少分了,请赐教!

第1个回答  2011-01-06
可以利用字典
也可以利用数组
也可以利用ADO
来实现

用字典帮你做一个
Sub OkExcelDictionary()
'智能Excel网站提供
Dim d As Object
Dim WeekStr As Variant
Dim r As Range
Dim i As Integer
Set d = CreateObject("Scripting.Dictionary")
Set r = Worksheets(1).Range("A1")
WeekStr = Split("星期一,星期二,星期三,星期四,星期五,星期六,星期日", ",")
Do While r.Text <> ""
If d.exists(r.Text) Then
d.Item(r.Text) = d.Item(r.Text) & "," & r.Offset(0, 1).Text
Else
d.Add r.Text, r.Offset(0, 1).Text
End If
Set r = r.Offset(1, 0)
Loop
Set r = Worksheets(2).Range("A1")
For i = 0 To 6
r.Value = WeekStr(i) & IIf(d.exists(WeekStr(i)), "," & d.Item(WeekStr(i)), "")
Set r = r.Offset(1, 0)
Next
d.RemoveAll
Set r = Nothing: Set d = Nothing
End Sub
第2个回答  2011-01-05
Sub aa()
For j = 1 To 7
m = ""
Select Case j
Case 1
x = "星期一"
Case 2
x = "星期二"
Case 3
x = "星期三"
Case 4
x = "星期四"
Case 5
x = "星期五"
Case 6
x = "星期六"
Case 7
x = "星期日"
End Select
For i = 1 To 1000 '根据列的长度
If Cells(i, 1) = "" Then GoTo 10
If Cells(i, 1) = x Then
n = Cells(i, 2)
m = m & "," & n
End If
Next
10 Cells(j, 4) = x & m
Next
End Sub本回答被提问者和网友采纳
第3个回答  2011-01-04
我可以做啊。不过就给0分啊。。。

Excel中,如何用VBA来执行以下功能,高手请进,若能完美运行,我将增加100...
以下代码必须放到Excel对象下的对应工作表中。就是VBA编辑器左上角工程框那里可以选到的,双击对应工作表。我是根据你的操作顺序来做的,应该是先输重量,有必要再改客户名吧。首先是K列值变动就会拷贝上一行数据,当然ID号是递增的。K列一次粘贴多个数据也OK 之后客户名改变即改变C列改变时,这时会自...

使用vba实现下面的功能:在excel表中,A1里是一个复选下拉框控件,希望在...
思路:查下这个控件的属性,其中有个就是值属性,赋值给单元格即可。

求助:使用VBA实现以下功能
在VBA里用VLOOKUP函数,Sheet2中执行代码 Sub 查找( )On Error Resume Next for i=2 to [A65536].End(xlUp).Row Cells(i,2)= Application.WorksheetFunction.VLookup(Range("A"&i),sheet1.Range("B:C"), 2, False)next end Sub 补充回答:上面代码加了一句On Error Resume Next,因为有...

???excel能不能用vba实现以下功能:问题1,将内容重复的列单元格隐藏起来...
能,不过不能只隐藏单个的单元格,要隐藏的话,改单元格所在的整行或者整列就都被隐藏了。至于筛选,这个完全不影响的,它只是隐藏了数据,并不是删除了数据。

excel 用vba实现以下功能,提取单元格时间
这个用公式完全可以解决的 如果用vba,就将公式直接使用在vba代码中,直接出结果即可 =YEAR(A2) & "年"=MONTH(A2) & "月"=DAY(A2) & "日"=TEXT(A2, "dddd")=HOUR(A2)

Excel VBA 指的是什么???
使用VBA可以在Excel实现以下功能:1. 使重复的任务自动化.2. 自定义EXCEL工具栏,菜单和界面.3. 简化模板的使用.4. 自定义EXCEL,使其成为开发平台.5. 创建报表.6. 对数据进行复杂的操作和分析.

如何在现有的VBA代码的基础上,实现以下功能?
Sub aa()Dim X X = WorksheetFunction.CountIf(Range("EE2:EE1000"), "复用餐饮具")If X = 0 Then demo '调用你的程序 End If End Sub

在excel中怎么使用宏来实现以下功能:比如我要设计计算贷款的每年偿还...
这个根本用不到宏 在年还款数 每一行加一个IF() 就可以,=IF(年限<行数,还款数,“”)除非你想学VBA

如何利用VBA实现excel中的加减乘除运算
要在Excel中使用VBA进行自动加减乘除运算,您可以使用以下代码示例:Sub AutoMathOperations()Dim ws As Worksheet Dim lastRow As Long ' 设置要进行运算的工作表 Set ws = ActiveSheet ' 获取最后有数据的行号 lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row ' 定义运算符和操作数的列号...

Excel中怎样利用vba实现-全选-复制-新建Excel文件-选择性数值粘贴到新...
Sub admin()Dim xWk As Workbook, xSh As Worksheet, xRan As RangeDim nWk As Workbook'要复制内容为当天工作表Set xWk = ActiveWorkbookSet xSh = ActiveSheet'保存的文件名为A1单元格里的内容,如果是其它单元格,修改这里Set xRan = xSh.Range("A1")Set nWk = Workbooks.AddxSh.Cells.Copy...

相似回答