存档

文章标签 ‘excel’

python 制作命令行excel 转cvs exe

2019年5月6日
python 制作命令行excel 转cvs exe已关闭评论

这个小东西借鉴了大神的代码,修改的传递参数与编码问题,刚开始的时可以转换,转换后的cvs用excel打开就是乱码,用notepad++一看编码是utf-8的,excel根本就不认,最后加上 encoding=’utf-8’解决保存cvs的编码问题,读取时也加上,转换后的cvs用excel读取就没有问题了!这个程序直接转换excel工作簿的第一个表格为cvs,满满的正能量解决了其他程序不能解决的问题,python真的很强大,高大上,就是打包后的exe文件有点大。 此代码 在win10,python3.7下编译完成。 下图是转换完成的结果 # -*- coding:utf-8 –*-#!/usr/bin/python3”’程序用来将excel批量转换为csv文件。指定源路径和目标路径。在main函数中指定源文件路径source,目标文件路径ob.输出文件的编码gb2312这个程序假设Excel文件放在:c:\CDDE 这个是源目录输出csv文件到:c:\ccd 这个是目的目录接收两个参数 一个是源目录 一个是目的目录例如:module1.exe c:\CDDE c:ccd #导入pandasimport pandas as pdimport os, sys #建立单个文件的excel转换成csv函数,file 是excel文件名,to_file 是csv文件名。def excel_to_csv(file,to_file):data_xls=pd.read_excel(file,sheet_name=0, encoding=’utf-8′)#读取的文件编码为utf-8data_xls.to_csv(to_file,encoding=”GB2312″)#cvs文件编码gb2312 #读取一个目录里面的所有文件

more...

生活

Excel VBA单元格选取对话框

2017年5月3日
Excel VBA单元格选取对话框已关闭评论

   Excel VBA中引用单元格已经很简单了。但是如何像输入函数时一样,自由的选择单元格区域,以便更好地实现人机交互呢?

   这里用到的函数 InputBox,里面的参数很简单,Type:=8意思是返回的值是Range,当然也可以是公式、数值或其他,具体可参见Help。

   最后,通过Range的Column属性和Columns.Count属性,返回选择区域的列号及列数。有了行号、行数、列号、列数对该单元的的操作就很简单了。

   附一段代码:

Sub GetRange()

Dim rng As Range

On Error Resume Next

Set rng = Application.InputBox(prompt:=”输入单元格区域或者直接选取单元格”, Type:=8)

If rng Is Nothing Then

   MsgBox “操作取消”

Else

   rng.Select
  
   MsgBox “已选择单元格区域第一列的列号为” & rng.Column & “。共有” & rng.Columns.Count & “列。”
  
   MsgBox “已选择单元格区域第一行的行号为” & rng.Row & “。共有” & rng.Rows.Count & “行。”   

End If

End Sub

more...

软件技巧

excel查找一个值并复制到剪切板

2017年5月3日
excel查找一个值并复制到剪切板已关闭评论

Private Sub CommandButton1_Click()
Dim c As Range
jieguo = TextBox1.Value
‘jieguo = Application.InputBox(prompt:=”请输入要查找的值:”, Title:=”查找”, Type:=2)
If jieguo = “False” Or jieguo = “” Then Exit Sub
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With ActiveSheet.Cells
Set c = .Find(jieguo, , , xlWhole, xlByColumns, xlNext, False)
If Not c Is Nothing Then
p = c.Address
Do ‘查找下一个
c.Interior.ColorIndex = 4

q = q & c.Address & vbCrLf

‘ Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> p
End If
End With
‘MsgBox “查找数据在以下单元格中:” & vbCrLf & vbCrLf & q, vbInformation + vbOKOnly, “查找结果”

‘Application.DisplayAlerts = True
a = “A” & c.Row & “:” & “F” & c.Row ‘复制A—F单元格到剪切板
ActiveSheet.Range(a).Select ‘选中单元格
ActiveSheet.Range(a).Copy ‘复制单元格到剪切板
‘ ActiveSheet.Range(a).Active ‘复制单元格到剪切板
Application.ScreenUpdating = True ‘屏幕刷新
ActiveSheet.Range(a).Select ‘选中单元格
End Sub

 

more...

软件技巧

excel弹出输入值的对话框

2017年5月3日
excel弹出输入值的对话框已关闭评论

Sub Macro1()

‘ Macro1 Macro


Dim jieguo As String, p As String, q As String
Dim c As Range
jieguo = Application.InputBox(prompt:=”请输入要查找的值:”, Title:=”查找”, Type:=2)

End Sub

more...

软件技巧

excel巧取汉字打头的字串内容

2016年1月7日
excel巧取汉字打头的字串内容已关闭评论

巧取汉字打头的字串内容
 

处理表格数据时遇到问题:从网页表格中复制来的数据,地址一列中出现类似于“4AWZCX万载老林业局2”的无用字符前缀。现在希望提取第一个汉字及其之后的所有内容(图1),寻求高效分离中英文及数字的实操方法。

excel提取汉字

巧取汉字打头的字串内容

 

1. 借助自动填充

如果使用Excel 2016,可以借助自动填充功能实现。打开“Excel选项”对话框,切换到“高级”面板(图2),在右侧窗格检查勾选“为单元格值启用记忆式键入”和“自动快速填充”复选框;接下来在B2单元格手工输入“万载老林业局2”,在B3单元格手工输入“永”,此时即可看到自动匹配提示,直接按下回车键即可(图3)。

 

 

巧取汉字打头的字串内容

excel公式巧取汉字打头的字串内容

小提示:

如果使用更低版本的Excel,可使用下面两种方法。

2. 利用数组公式

在编辑栏输入公式“=MID(A2,MATCH(1=1,LENB(MID(A2,ROW($1:$25),1))=2,),25)”,按下Ctrl+Shift+Enter组合键转换为数组

more...

软件技巧