精华内容
下载资源
问答
  • 一、输出linux/dos格式文件 用print写内容到文件,一般会自动加回车和换行符号,即dos格式,用vi打开就是显示为^M。 open ThisWorkbook.Path ...号表示打印未结束,所以vba不会自动在后面加回车和换行符号 显示结果为:

    一、输出linux/dos格式文件

    用print写内容到文件,一般会自动加回车和换行符号,即dos格式,用vi打开就是显示为^M。

    open ThisWorkbook.Path & "\my_file.txt" For Output As #1
    print #1,"aaa"
    

    显示结果为:
    在这里插入图片描述
    如果想输出为linux格式,可这样修改

    print #1,"aaa" & chr(10);
    

    其中chr(10)表示换行,后面的;号表示打印未结束,所以vba不会自动在后面加回车和换行符号
    显示结果为:
    在这里插入图片描述

    二、附一些文件操作相关函数说明:

    2.1、open


    在这里插入图片描述

    2.2、print语句

    在这里插入图片描述
    在这里插入图片描述

    2.3、eof

    在这里插入图片描述
    在这里插入图片描述

    2.4、loc

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 3.可选参数 '问题:怎么输出数组 Function WEEKTOTAL() WEEKTOTAL = Array("周一", "周二", "周三", "周四", "周五", "周六", "周日") '使用方法 '1.框柱不能多于数组数量的单元格(多了的会显示错误值,还不能单独...

    想说的都写在批注了,就不多写了。

    '带有一个参数的函数
    Function CAL(a) As Double
        Select Case a
            Case Is > 100:
                CAL = 100
            Case 55 To 100
                CAL = 55
            Case Else
                CAL = 0
        End Select
    End Function
    
    '带1个参数写1个,带2个写2个,多个的话可以选择数组
    '函数过程主要是在单元格用,意味着经常一框,不晓得多少个参数,怎么处理?
    '用数组作为参数
    '经过测试,类似=SUMARRAY(A4:D4)可以运行,但是=SUMARRAY(A4,B4,C4,D4)无法计算
    
    Function SUMARRAY(list) As Double
        '未明确是啥类型就用Variant
        Dim Item As Variant
        SUMARRAY = 0
        For Each Item In list
            '是数字就加总
            If WorksheetFunction.IsNumber(Item) Then
                SUMARRAY = SUMARRAY + Item
            End If
        Next Item
    End Function
    Sub MakeList()
        Dim nums(1 To 100) As Double
        Dim i As Integer
        For i = 1 To 100
            '随机赋值1-100的值到nums数组的各个元素
            nums(i) = Rnd * 100
        Next i
        MsgBox SUMARRAY(nums)
    End Sub
    
    '部分函数带可选参数,可选参数怎么实现呢?
    '在参数名前面加上Optional就是可选参数啦!
    '假设实现一个返回大小写功能的函数,不写参数全大写,可选参数填了则全小写
    
    
    Function UPORLOW(cell As Variant, Optional UpperCase As Variant)
        'cell是必须提供的参数,用IsMissing判断是否提供了后面的UpperCse参数
        
        If IsMissing(UpperCase) Then
            UPORLOW = UCase(cell)
        Else
            UPORLOW = LCase(cell)
        End If
            
    End Function
    
    '参数传入1.固定数量参数;2.数组;3.可选参数
    '问题:怎么输出数组
    
    Function WEEKTOTAL()
        WEEKTOTAL = Array("周一", "周二", "周三", "周四", "周五", "周六", "周日")
        '使用方法
        '1.框柱不能多于数组数量的单元格(多了的会显示错误值,还不能单独删除)
        '2.把=WEEKTOTAL输入到单元格中,然后注意不要就按回车键哈,是按Ctrl+Shift+Enter三个一起
        '3.数组输出的值在单元格只会横着排
    End Function
    
    '怎么实现想横着就横着想竖着就竖着的数组排列呢?
    '和之前一样,传入一个可选参数,这里简单点,随便穿了参数就当做竖着排列好了
    Function WEEKTOTALPLUS(Optional arg As Variant)
        '基本流程就是1.没参数,不管了;有参数,横着排
        Dim weeks As Variant
        '不能Dim weeks(7) as String ,然后weeks =arry(7个值)这样操作
        weeks = Array("周一", "周二", "周三", "周四", "周五", "周六", "周日")
        '还是用IsMissing判断有没有参数
        If IsMissing(arg) Then
            WEEKTOTALPLUS = weeks
        Else
            '有参数了,就变成竖的往下排列,用系统的转置函数
            WEEKTOTALPLUS = Application.Transpose(weeks)
        End If
    End Function
    
    '刚才例子SUMARRAY在输入=SUMARRAY(A4:D4)可以运行,但输入=SUMARRAY(A4,B4,C4,D4)无法计算
    '不定数量的参数的处理办法:使用数组作为最后一个参数,加上关键字PrarmArray
    
    Function SUMPLUS(ParamArray arglist() As Variant) As Double
        Dim arg As Variant
        For Each arg In arglist
            SUMPLUS = SUMPLUS + arg
        Next arg
        '这个时候输入=SUMARRAY(A4,B4,C4,D4)等等多个参数可以计算
        '但是输入=SUMARRAY(A4:D4)又可以运行,后面完善类似SUM的功能
    End Function
    

     

    展开全文
  • Excel+vba通用SQL查询输出器源码 用于对Excel表格的SQL查询,被SQL操作的Excel表格必须有表头,作为类似数据库的字段,并位于表格第一行,SHEET1名称被指定时请注意替换默认的from后的表名称。
  • VBA 输入输出对话框

    千次阅读 2020-03-25 13:40:31
    inputbox prompt:=提示文字 title:=最上面的那个字 default:=默认值,如果你啥都不写,那就是这个默认值 xpos:=左端与屏幕左端的距离 ypos:=顶端与屏幕顶端的距离 在输入对话框在VBA中有两种形式,分别是: ...

    inputbox

    prompt:=提示文字
    title:=最上面的那个字
    default:=默认值,如果你啥都不写,那就是这个默认值
    xpos:=左端与屏幕左端的距离
    ypos:=顶端与屏幕顶端的距离

    在这里插入图片描述

    在输入对话框在VBA中有两种形式,分别是:

    • InputBox
    • Expression.InputBox

    二者在大致功能上基本相同,个人认为二者重点差异为:

    • 后者有 Type 参数,可以限制输入类型,同时可以引用单元格 ;
    • 二者输入时, 空值、取消 的返回值不同。

    也就是多了一个type参数,这也就代表了后者的东西更多一点东西,前面的input输出的也就是一个str罢了,但是后面的东西输出的东西可以限制,也可以直接用在单元格上,也就是升级版吧。

    MSGBOX函数

    prompt:=“中午妈的”
    buttons:=图标和按钮
    title:=“就是弹出框上面的那个“
    在这里插入图片描述
    按钮
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    图标
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    两个都要设置的时候,就用+把这两个代码链接在一起

    默认值
    在这里插入图片描述
    依然的buttons属性,只要和上面一样,在后面弄个+号就行了

    选择不同的值,处理不同的结果
    在这里插入图片描述

    展开全文
  • SUB DATA() Dim cnn, SQL$, a, B, C, D, E, f, G, H, i, L, M Dim OUT As Workbook Set cnn = CreateObject("adodb.connection") Set rs = CreateObject("adodb.recordset") cnn.Open "Provider = Microsoft....
    SUB DATA()
    Dim cnn, SQL$, a, B, C, D, E, f, G, H, i, L, M
    Dim OUT As Workbook
        Set cnn = CreateObject("adodb.connection")
        Set rs = CreateObject("adodb.recordset")
        
        
     cnn.Open "Provider = Microsoft.ace.Oledb.12.0;Extended Properties =TEXT;Data Source =" & ThisWorkbook.Path & "\"
        
    
    SQL = "SELECT 小区标识,A.CGI,NODEBID*小区ID AS ECI,LA,LO FROM [轩驰.CSV] A  LEFT JOIN [基础信息表.CSV] B on a.小区标识=B.CELL WHERE 设备类型 NOT IN ('5G')  AND 小区标识 IS NOT NULL"
    
    Set OUT = Workbooks.Add
    
     Set rs = cnn.Execute(SQL)
     Worksheets("Sheet1").Activate
     
      Sheets("Sheet1").Cells.ClearContents       '清理保存数据的区域
         For i = 0 To rs.Fields.Count - 1
           Worksheets("Sheet1").Cells(1, i + 1) = rs.Fields(i).Name
         Next
    Sheets("Sheet1").Range("a2").CopyFromRecordset rs
        
    rs.Close
    cnn.Close
    Set rst = Nothing
    Set cnn = Nothing
      
        OUT.SaveAs ThisWorkbook.Path & "\4G_CELL_INFO.csv", xlCSV
        Workbooks("4G_CELL_INFO.csv").Close True
     
    MsgBox ("OK")
    
    END SUB
    
    展开全文
  • vb6.0/vba中 计算公式字符串转化为可执行的计算公式输出结果 vb6.0中 将计算公式字符串转化为可执行的计算公式输出结果方法如下: Private Sub command1_click() Set My_Script = CreateObject(“scriptcontrol”) ...
  • diff2vba-从diff输出生成VBA补丁脚本 版本 版本0.03 概要 greple -Mmsdoc -Msubst --sccc2 --diff some.docx | diff2vba> patch.vba 描述 diff2vba是从diff输出生成VBA修补程序脚本的命令。 选项 --fold [=宽度] ...
  • VBA_输出SQL查询数据

    千次阅读 2017-04-22 22:21:44
    OptionExplicit ...Sub输出数据表(strSqlAsString,WorkAsString)'传值处理 ''''''''''''''''''''''''''''''''''''''''''' DimdataAsNew数据库 DimcnAsNewADODB.Connection DimrsAsNewADODB.Records...
  • vba Excel转化为xml(格式化输出xml)

    热门讨论 2012-03-19 09:06:34
    将Excel表格中的信息按一定规则(如关键字分组)输出为xml文件,一般情况下生成的xml文件用文本形式代开不会有缩进与换行,本工具解决了此问题。本工具中生成的RemotePhonebook.xml是根据department分组,同一...
  • 基于VBA的凸轮轮廓设计与结果输出.pdf
  • 1.VBA输入输出

    千次阅读 2013-11-02 13:13:04
    常用输入/输出语句结构化程序设计中使用的基本控制结构有3种:顺序结构、选择结构和循环结构。顺序结构就是按照语句的书写顺序从上到下、逐条语句地执行。执行时,编写在前面的代码先执行,编写在后面的代码后执行。...
  • Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim mapping() As String Dim connStr As String, sqlStr As String Dim sqlresult As String connStr = “Provider=Microsoft.ACE.OLEDB.12.0;...
  • 能否用VBA输出一个完整的汉字列表?回答:“常用字有7000个左右,共有汉字90000多个。”Unicode中汉字的范围为:U4E00~U9FCC,共计2万多个。编号 Unicode十进制数值 Unicode编码(十六进制) 汉字 拼音 1 19968 U4E00...
  • 当你显示只有一个按钮的信息框时,可以点击...你可以将信息框结果储存在一个变量上来实现: 程序如下: Sub MsgYesNo3() Dim question As String Dim myButtons As Integer Dim myTitle As String Dim myChoi.
  • 自己制作的用VBA输出XML。VBA也是初学,主要为了用EXCEL能够编辑XML表。点击保存按钮或者直接CTRL+S就可以输出最终的XML。最终的XML会在当前目录下。DATAOUT是在EXCEL直接看到编辑的结果。代码中有很多冗余的代码...
  • VBA全排列组合输出

    千次阅读 2019-01-05 16:59:15
    全排列:简单讲是从N个不同元素中取出M个,按照一定顺序排成一列,通常用A...输出代码如下: Dim N '用于增加动态数组下标 Sub perm(arr, k, m, brr()) '全排列 'arr为需要全排列的数组。k为数组下标,m为上标,brr...
  • VBA嵌套字典的递归输出(序列化)

    千次阅读 2019-03-20 21:56:49
    VBA嵌套字典的递归输出(序列化) 作者:AntoniotheFuture 关键词:VBA,字典,Dictionary,嵌套,递归,序列化 开发平台:VBE 平台版本上限:未知 平台版本下限:未知 开发语言:VBA 简介: 用递归的方法将...
  • 如果想要把sql查询的结果输出到一个文本中显示,可以按照此文本中的方法来做。
  • VBA输出日期格式问题

    千次阅读 2010-07-15 23:11:00
    http://topic.csdn.net/u/20071106/17/44cd3373-6019-4f5a-bce6-c15e950237ab.html<br />  http://topic.csdn.net/u/20090403/11/5c48e2d2-50de-42c4-b90c-cb33e487bd1d.html
  • VBA一键文字转数值

    2018-01-19 10:58:30
    excel vba宏程序,一键将所有文字格式的数字转换为数值格式,自动更新数据。
  • Excel VBA工程项目密码移除,可适用于xls、xlsx、xlsm等格式,亲测有效!注意看使用说明
  • Office编程百宝箱29.0,简称VBA百宝箱。为Office编程国产首款超大型插件,原创30多个功能宝贝。所有功能通用于Excel、Word、PowerPoint、Outlook、Access、Publisher、Project、Office全家福。适用于微软Office2003...
  • VBA 输出utf-8格式文件

    千次阅读 2010-10-30 00:36:00
    Public Declare Function WideCharToMultiByte Lib "kernel32" ( _ ByVal CodePage As Long, _ ByVal dwFlags As Long, _ ByVal lpWideCharStr As Long, _ ByVal cchWideChar As Long, _ ...
  • vba实现进度条

    2012-06-07 11:03:49
    VBA实现进度条的编写,实现vbaExcel进度条的设置
  • 1、 编写程序,随机生成20个两位整数,并统计出其中小于等于60、大于60小于等于80及大于80的数据以及相应个数,结果打印输出到窗体。 Private Sub Form_Click() For i = 1 To 20 a = Fix(Rnd() * 91 + 10) If a x =...
  • 按条件取数VBA

    2018-04-21 17:09:36
    EXCEL用的vba程序可以用来进行条件统计取数计算等等。
  • 在使用vba输出.xml文件时,如果有汉字或日文出现无法打开。原因VBA生成的文本文件,默认是Gb2312编码。 如何让输出文件格式是utf-8编码??? 解决办法: ‘API 函数WideCharToMultiByte参数说明 ‘第一个参数:...
  • excel vba 获取行号

    2014-05-07 11:58:26
    excel vba 获取行号
  • Sheets("结果").Cells.ClearContents '清理保存数据的区域 For I = 0 To RS.Fields.Count - 1 y = y & RS.Fields(I).Name + "," Next ARR = CNN.Execute(Sql).GETROWS ''''单行内容提取 BRR = RS.Fields.Count ...
  • 列出结果到每个单元格。 使用正则表达式进行替换,并输出替换信息数据表。 清理输出信息。 创建一个Excel函数以直接在Excel单元格中应用正则表达式 为什么使用此工具: 该工具的UI是Excel。 易于输入 输出在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,892
精华内容 2,756
关键字:

vba输出结果