Foxtable(狐表)用户栏目专家坐堂 → 批量改为数值


  共有6558人关注过本帖树形打印复制链接

主题:批量改为数值

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/23 10:38:00 [显示全部帖子]

 去到对应的单元格,把公式清除即可。

 

Dim Book As New XLS.Book() '定义一个Excel工作簿
Dim
Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Sheet(1,0).Formula = ""
Book.Save(
"c:\reports\test.xls")


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/23 11:11:00 [显示全部帖子]

呃,楼主,你得进步

 

Dim aa As String
aa=vars("aa")
For Each file As String In filesys .GetFiles(ProjectPath & aa)
    If file.EndsWith(".xls") OrElse file.EndsWith(".xlsx") Then
        Dim Book1 As New XLS.Book(file)
        Dim Sheet1 As XLS.Sheet = Book1.Sheets("资产负债表")
        Sheet1(1,0).Formula = ""
        Book1.Save(file)
    End If
Next


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/23 11:24:00 [显示全部帖子]

 你试试这样

 

Dim aa As String
aa=vars("aa")
For Each file As String In filesys .GetFiles(ProjectPath & aa)
    If file.EndsWith(".xls") OrElse file.EndsWith(".xlsx") Then
        Dim Book1 As New XLS.Book(file)
        Dim Sheet1 As XLS.Sheet = Book1.Sheets("资产负债表")
        For n As Integer = 0 To 200
            Dim temp As object = Sheet1(n,n).Value
            Sheet1(n,n).Formula = ""
            Sheet1(n,n).Value = temp
        Next
        Book1.Save(file)
    End If
Next


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/23 15:25:00 [显示全部帖子]

 回复11楼,不会改变原格式啊,它只是去除公式和修改值啊。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/23 22:24:00 [显示全部帖子]

 回复13楼,绕了一大圈。你如果要做粘贴数值的效果,就直接用vba去做,几句代码的事。

 

 请上传excel表格,说明哪些单元格要转换。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/23 22:40:00 [显示全部帖子]

代码,(mark ExceL粘贴)

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.Workbook = App.WorkBooks.open("d:\test.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.UsedRange
rg.Copy
rg.PasteSpecial(Paste:=MSExcel.XlPasteType.xlPasteValues, Operation:=MSExcel.XlPasteSpecialOperation.xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False)
Wb.Save
App.Quit


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/24 9:59:00 [显示全部帖子]

以下是引用发财在2014-7-24 9:53:00的发言:
XLS.Book和 XLS.Sheet 与MSExcel.Workbook 和MSExcel.WorkSheet 对应区别?搞不清?

 

前两个是foxtable自己封装的,能解决大部分问题;

 

后两个是vba,类似excel的vba,能做的功能更多。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/24 10:16:00 [显示全部帖子]

以下是引用发财在2014-7-24 10:11:00的发言:
即如何对文件中的每个EXCEL表逐一粘贴回数值?

 

再说一句,你得进步,就是一个循环。

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.Workbook = App.WorkBooks.open("d:\test.xls")
For Each Ws As MSExcel.WorkSheet In Wb.WorkSheets
    Dim Rg As MSExcel.Range = Ws.UsedRange
    rg.Copy
    rg.PasteSpecial(Paste:=MSExcel.XlPasteType.xlPasteValues, Operation:=MSExcel.XlPasteSpecialOperation.xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False)
Next
Wb.Save
App.Quit


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/24 10:19:00 [显示全部帖子]

完整代码

 


Dim App As New MSExcel.Application
Dim aa As String
aa=vars("aa")
For Each file As String In filesys .GetFiles(ProjectPath & aa)
    If file.EndsWith(".xls") OrElse file.EndsWith(".xlsx") Then
        Dim Wb As MSExcel.Workbook = App.WorkBooks.open(file)
        For Each Ws As MSExcel.WorkSheet In Wb.WorkSheets
            Dim Rg As MSExcel.Range = Ws.UsedRange
            rg.Copy
            rg.PasteSpecial(Paste:=MSExcel.XlPasteType.xlPasteValues, Operation:=MSExcel.XlPasteSpecialOperation.xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False)
        Next
        Wb.Save
    End If
Next
App.Quit


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/7 16:36:00 [显示全部帖子]

以下是引用发财在2014-8-7 16:35:00的发言:
如何只将链接粘贴回数值,保留本EXCEL表公式不变?

 

什么意思,什么链接。


 回到顶部
总数 21 1 2 3 下一页