VBA 自动得到分数

‘ 将一个正数除以 y 返回一个整数或分数
Function RFs(ByVal x As Integer) As String
    If x = 0 Then
        RFs = 0
        Exit Function
    End If

    Dim div_result, div_remain, y, i As Integer
    y = 144
    div_result = x \ y
    div_remain = x Mod y

    If div_remain = 0 Then
        RFs = x / y
        Exit Function
    Else
        Dim z As Integer
        If div_remain > y Then
            z = y
        Else
            z = div_remain
        End If

        For i = z To 2 Step -1
            If div_remain Mod i = 0 And y Mod i = 0 Then
                If div_result > 0 Then
                    RFs = div_result & " + " & div_remain / i & "/" & y / i
                Else
                    RFs = div_remain / i & "/" & y / i
                End If
                Exit Function
            End If
        Next i
        If div_result > 0 Then
            RFs = div_result & " + " & div_remain & "/" & y
        Else
            RFs = div_remain & "/" & y
        End If
    End If
End Function

可以直接在 Excel 宏里面用 VBA 语言调用 比如 290 会得到 2 + 1/72

时间: 2024-10-07 08:10:41

VBA 自动得到分数的相关文章

Excel VBA自动添加证书(二)

继续上次没有写完的随笔,本来是很想一次性写完的,但是到中午一点了还没有吃东西,其实饿的不行了,还好写博客时会自动保存,中间电脑实然蓝屏,花了二个多小时写的没有点击保存,吓我一下,以为会全没了. 前面讲到的证书,对大多数公司来说,对安全要求不高的,可能也就不会去管这个东东了,只有像一些金融或政府的软件会对这个东西加安全证书,我到现在对它的了解也不是很深,先看一下它的样子: 关于它的详细信息,可以参考http://msdn.microsoft.com/zh-cn/library/cc728388%2

Excel VBA自动添加证书

---恢复内容开始--- 在说这个话题之前,我先解释一下为什么要加数字证书签名,它有什么作用,后面再解释如何添加.首先解释下证书添加的位置,如下图所示: 1.单击左上角的Office 按钮,选择右下角的Excel选项. 弹出如下所示的界面,选择常用项,将在功能区显示“开发工具”选项卡(D)选项框选中. 然后就可以在菜单项中看到“开发工具”这个菜单项,默认是不显示的. 然后单击Visual Basic工具栏,如下所示 打开后显示如下界面,也就是写宏代码的IDE,类型以前的VB6.0开发界面 选择菜

VBA自动填写表单

hao268网站,风格清新,无任何广告,实在是良心之作.其首页中的邮箱账户,可以方便的直达各个常用邮箱.本程序利用VBA,实现139邮箱的自动登录. <select id="hao_mail_options" onChange="MailLogin.change(this)"> <option></option><option>@163.com</option><option>@qq.com&l

使用VBA自动填写考勤模板中的日期栏位

首先说明一下,公司每个月末都要求员工填写考勤信息,然后发了个模板,我觉得每次都要填写日期和星期几这样的信息比较繁琐,所以就想了一个偷懒的办法,而且对模板样式也做了一下变更,使其信息展示效率得到了提高. 简单来那就是使用Office中自带的VBA功能来对考勤模板中类似日期这样有规律可循的栏位进行自动化的填写. 如图所示 这样每次填写考勤记录的时候只需填写月度栏位的信息,然后点击模板做成按钮就可以实现日期和星期栏位信息的自动化填写啦. [模板下载] PS:至于我在Excel中的VBA代码是怎么写的可

Excel VBA自动创建sheet,设置字体,单元格颜色和边框

1 Sub link() 2 Dim num, sheetname 3 4 Worksheets(1).Select 5 6 num = WorksheetFunction.CountA(Columns("c:c")) 7 'MsgBox num 8 9 For i = 2 To num 10 '把第一个sheet中第3列第i行单元格的值赋值给sheetname,作为后面创建sheet时的名称 11 sheetname = VBA.UCase(Trim(Sheets(1).Cells(

Word中使用VBA自动生成公式时的注意事项

Sub GenEQ()     If Selection.start <> Selection.End Then         Dim objRange As Range         Dim objEq As OMath              Set objRange = Selection.Range         '不能加入下面这行注释掉的代码,否则在日文版Word 2007和2010上将不能实现下面的灵活字体控制         'objRange.Text = Select

第一种vba自动筛选数据自动生成折线图的脚本(自动化)

Sub 数据整理() Dim iAreaCount As Integer Dim i As Integer Dim sTemp, sTemp2 As String Dim iTemp As Long Dim bFind As Boolean Dim ValueName() As String Dim ValueValue() As Double Dim ValueDate() As Date Dim iHour, iMinute, iSecond As Integer Dim iIndex As

利用excel VBA进行自动化数据分析,数据汇总,网页表单自动提交等功能

在制造业公司的生产管理,经营管理,采购管理,财务管理等工作中,都有大量的数据处理的任务,通过繁复的excel手工运算获取结果.通过员工培训和自我提升,掌握和使用excel数组公式和VBA自动化,能为员工节省巨大的时间和精力,提高工作附加值.同时作为公司效率化和系统化改善的一部分,为公司效益带来显著提升.以下通过一些案例,展示利用excel公式和VBA进行自动化数据分析,数据汇总,网页表单自动提交在实际场景中的典型应用.相关的文件和代码可以在github下载. 自动化数据分析 以下是通过VBA自动

一个简单的加减乘除自动生成小程序升级版(JAVA)

1 import java.util.Scanner; 2 public class Suan { 3 public static void main(String[] args) { 4 int []b;//设置数组来存放随机产生数 5 b=new int [4]; 6 Scanner in=new Scanner(System.in); 7 System.out.println("请选择你想练习的题型:"); 8 System.out.println(" 1.分数的加减乘