佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

楼主: woodstock_05

Excel 技巧搜集区 “实用篇”

  [复制链接]
发表于 15-9-2010 03:42 PM | 显示全部楼层
请问。。。这应该怎样运用?需要"="吗?
Felix2212 发表于 15-9-2010 02:00 PM


   不用,那些code放在VBA,然后在 Excel B2 那边输入1,2,3,4 就会出现mcd,kfc 了。。。。
回复

使用道具 举报


ADVERTISEMENT

发表于 17-9-2010 12:39 PM | 显示全部楼层
以下是Visual Basic,自动从300.20 转去英文 :Three Hundred Dollars and Twenty Cents

请问如何把它改 ...
vrz 发表于 15-9-2010 07:46 AM


改了,如下。。。
不过有几个数目的翻译觉得怪怪的。。。
你试试看,尤其是几分几毛的,你来comments,我再改。。。

  1. Option Explicit
  2. 'Main Function
  3. Function SpellNumber(ByVal MyNumber)
  4.     Dim Dollars, Cents, Temp
  5.     Dim DecimalPlace, Count
  6.     ReDim Place(9) As String
  7.     Place(2) = " Thousand "
  8.     Place(3) = " Million "
  9.     Place(4) = " Billion "
  10.     Place(5) = " Trillion "
  11.     ' String representation of amount.
  12.     MyNumber = Trim(Str(MyNumber))
  13.     ' Position of decimal place 0 if none.
  14.     DecimalPlace = InStr(MyNumber, ".")
  15.     ' Convert cents and set MyNumber to dollar amount.
  16.     If DecimalPlace > 0 Then
  17.         Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _
  18.                   "00", 2))
  19.         MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
  20.     End If
  21.     Count = 1
  22.     Do While MyNumber <> ""
  23.         Temp = GetHundreds(Right(MyNumber, 3))
  24.         If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars
  25.         If Len(MyNumber) > 3 Then
  26.             MyNumber = Left(MyNumber, Len(MyNumber) - 3)
  27.         Else
  28.             MyNumber = ""
  29.         End If
  30.         Count = Count + 1
  31.     Loop
  32.     Select Case Dollars
  33.         Case ""
  34.             Dollars = "No Ringgit Malaysia"
  35.         Case "One"
  36.             Dollars = "One Ringgit Malaysia"
  37.          Case Else
  38.             Dollars = "Ringgit Malaysia : " & Dollars
  39.     End Select
  40.     Select Case Cents
  41.         Case ""
  42.             Cents = " Only"
  43.         Case "One"
  44.             Cents = " and Cent One Only"
  45.               Case Else
  46.             Cents = " and Cents " & Cents & " Only"
  47.     End Select
  48.     SpellNumber = Dollars & Cents
  49. End Function
  50.       
  51. ' Converts a number from 100-999 into text
  52. Function GetHundreds(ByVal MyNumber)
  53.     Dim Result As String
  54.     If Val(MyNumber) = 0 Then Exit Function
  55.     MyNumber = Right("000" & MyNumber, 3)
  56.     ' Convert the hundreds place.
  57.     If Mid(MyNumber, 1, 1) <> "0" Then
  58.         Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
  59.     End If
  60.     ' Convert the tens and ones place.
  61.     If Mid(MyNumber, 2, 1) <> "0" Then
  62.         Result = Result & GetTens(Mid(MyNumber, 2))
  63.     Else
  64.         Result = Result & GetDigit(Mid(MyNumber, 3))
  65.     End If
  66.     GetHundreds = Result
  67. End Function
  68.       
  69. ' Converts a number from 10 to 99 into text.
  70. Function GetTens(TensText)
  71.     Dim Result As String
  72.     Result = ""           ' Null out the temporary function value.
  73.     If Val(Left(TensText, 1)) = 1 Then   ' If value between 10-19...
  74.         Select Case Val(TensText)
  75.             Case 10: Result = "Ten"
  76.             Case 11: Result = "Eleven"
  77.             Case 12: Result = "Twelve"
  78.             Case 13: Result = "Thirteen"
  79.             Case 14: Result = "Fourteen"
  80.             Case 15: Result = "Fifteen"
  81.             Case 16: Result = "Sixteen"
  82.             Case 17: Result = "Seventeen"
  83.             Case 18: Result = "Eighteen"
  84.             Case 19: Result = "Nineteen"
  85.             Case Else
  86.         End Select
  87.     Else                                 ' If value between 20-99...
  88.         Select Case Val(Left(TensText, 1))
  89.             Case 2: Result = "Twenty "
  90.             Case 3: Result = "Thirty "
  91.             Case 4: Result = "Forty "
  92.             Case 5: Result = "Fifty "
  93.             Case 6: Result = "Sixty "
  94.             Case 7: Result = "Seventy "
  95.             Case 8: Result = "Eighty "
  96.             Case 9: Result = "Ninety "
  97.             Case Else
  98.         End Select
  99.         Result = Result & GetDigit _
  100.             (Right(TensText, 1))  ' Retrieve ones place.
  101.     End If
  102.     GetTens = Result
  103. End Function
  104.      
  105. ' Converts a number from 1 to 9 into text.
  106. Function GetDigit(Digit)
  107.     Select Case Val(Digit)
  108.         Case 1: GetDigit = "One"
  109.         Case 2: GetDigit = "Two"
  110.         Case 3: GetDigit = "Three"
  111.         Case 4: GetDigit = "Four"
  112.         Case 5: GetDigit = "Five"
  113.         Case 6: GetDigit = "Six"
  114.         Case 7: GetDigit = "Seven"
  115.         Case 8: GetDigit = "Eight"
  116.         Case 9: GetDigit = "Nine"
  117.         Case Else: GetDigit = ""
  118.     End Select
  119. End Function
复制代码
回复

使用道具 举报

发表于 17-9-2010 12:41 PM | 显示全部楼层
不用,那些code放在VBA,然后在 Excel B2 那边输入1,2,3,4 就会出现mcd,kfc 了。。。。
羁 发表于 15-9-2010 03:42 PM


你确定??

请问。。。这应该怎样运用?需要"="吗?
Felix2212 发表于 15-9-2010 02:00 PM


如果你的数目放在A1的话,那么在需要翻译的cells放 =SpellNumber(A1)
回复

使用道具 举报

发表于 17-9-2010 04:13 PM | 显示全部楼层
回复 23# kiam06

谢谢你的关注和协助。

但是出现以下error :

   
回复

使用道具 举报

发表于 17-9-2010 04:30 PM | 显示全部楼层
你确定??



如果你的数目放在A1的话,那么在需要翻译的cells放 =SpellNumber(A1)
kiam06 发表于 17-9-2010 12:41 PM


你试了不能吗?
回复

使用道具 举报

发表于 17-9-2010 04:42 PM | 显示全部楼层
回复  kiam06

谢谢你的关注和协助。

但是出现以下error :
vrz 发表于 17-9-2010 04:13 PM

再试过了,没问题。。。

怎么你会跑error出来了???
是因为试了什么号码吗?
会不会是没有copy完全部的代码??
回复

使用道具 举报

Follow Us
发表于 17-9-2010 04:50 PM | 显示全部楼层
回复 27# kiam06


刚才我是highlight all,copy & paste,不能。

现在我直接按【复制代码】paste 就可以了。完美!

万分谢意!
回复

使用道具 举报

发表于 18-9-2010 10:43 AM | 显示全部楼层
不用,那些code放在VBA,然后在 Excel B2 那边输入1,2,3,4 就会出现mcd,kfc 了。。。。
羁 发表于 15-9-2010 03:42 PM


谢谢,这用得到。。。

你确定??

如果你的数目放在A1的话,那么在需要翻译的cells放 =SpellNumber(A1)
kiam06 发表于 17-9-2010 12:41 PM

   
这个。。。小弟尝试以上两组。。。暂时还没看到任何翻译哦。。。

可以再详细指教吗?谢谢~
回复

使用道具 举报


ADVERTISEMENT

发表于 6-11-2010 02:56 PM | 显示全部楼层
本帖最后由 发糕 于 6-11-2010 08:56 PM 编辑

請問要如何用 VBA 实现打印设置-月份   Sub rr()
    With Sheets(1).PageSetup
    .Orientation = xlLandscape
    .LeftMargin = Application.CentimetersToPoints(0.5)
    .RightMargin = Application.CentimetersToPoints(0.5)
    .TopMargin = Application.CentimetersToPoints(0.5)
    .BottomMargin = Application.CentimetersToPoints(0.5)
     .LeftHeader = "To:  Date:" & Date       要如何換成-月份(NOVEMBER)
   End With
End Sub
回复

使用道具 举报

发表于 11-11-2010 05:55 PM | 显示全部楼层
請問要如何用 VBA 实现打印设置-月份   Sub rr()
    With Sheets(1).PageSetup
    .Orientation = xlLa ...
发糕 发表于 6-11-2010 02:56 PM


     .LeftHeader = "To:  Date:" & Format(Date, "mmmm")
回复

使用道具 举报

发表于 11-11-2010 07:24 PM | 显示全部楼层
本帖最后由 发糕 于 11-11-2010 07:27 PM 编辑

回复 30# kiam06


    Thank You Very Much!!!!!!!!!!!
    以後有什麼疑難雜症可不可以再找你幫忙?
回复

使用道具 举报

发表于 20-12-2010 11:09 PM | 显示全部楼层
请问各位高人,请帮小弟解决一下Excel的疑难!
如果我想把:
A1*B1的value target 去C1,条件是target value must be rounded-up figure,比如C1=0.789 to 1, C1= 1.1 to 2, or C1= 101.01 to 102.
我应该在C1用IF statement,该怎么coding呢?
回复

使用道具 举报

发表于 22-12-2010 12:27 AM | 显示全部楼层
回复 30# kiam06

你好!

请教,我想用Excel 制成 一个表格,
比如:
学生
在 科目list
选择 华语
选择 第5课
选择/ 填写 第几页

3个月后,我可以sort 日期 和 列出 三个月来 华语科目 的 相关记录。

请问,用excel 是否可以做这类的记录?可行吗?

请多多指教,谢谢!
回复

使用道具 举报

发表于 22-12-2010 08:00 AM | 显示全部楼层
请问各位高人,请帮小弟解决一下Excel的疑难!
如果我想把:
A1*B1的value target 去C1,条件是target val ...
Zach4ry 发表于 20-12-2010 11:09 PM


C1=ROUNDUP(A1+B1,0)
回复

使用道具 举报

发表于 22-12-2010 08:06 AM | 显示全部楼层
回复  kiam06

你好!

请教,我想用Excel 制成 一个表格,
比如:
学生
在 科目list
选择 华语
...
YianYian 发表于 22-12-2010 12:27 AM


可以。。。
不过日期需要正确的格式,基本上windows默认的格式为美式,月/日/年。。。
关于这类问题,建议多多亲自试验/研究。。。
遇到瓶颈问题才上来求救。。。
回复

使用道具 举报

发表于 22-12-2010 09:31 PM | 显示全部楼层
回复 35# kiam06

已经研究了一星期。。还是无从下手。。

请问怎样下手?首先,我不是一个很会电脑的人。。。
回复

使用道具 举报


ADVERTISEMENT

发表于 29-12-2010 02:05 PM | 显示全部楼层
各位大哥好。。。小弟最近想简化作业上的程序。。。问了很多同事。。他们都不懂excel比较advance的运作。。听说cari有很多专才。。所以冒昧在此求救。。。希望各位大哥能帮个忙:

本人想简化quotation上的程序。。就是说想把客户的资料从一份worksheet (customerlist.xls)link去quotation(quotation.xls)上。。。

existing我得做法是在customer.xls上把客户的资料copy & paste去quotation上。。超麻烦。。
我记得以前我在旧公司是。。只需要在quotation上某一个cell(比如quotation.xls的cell A19)上填上代号(比如说:在customerlist.xls上 cari.com的代号是C100,就直接在A19填上C100)那在customer information那一部分就会自动出现了。。

简化:

Woork book        worksheet      cell(代号)    company name
========      =======   ===              ==========
customerlist.xls     sheet1         A1(C100)   Cari.com sdn bhd

quotation.xls         sheet1        A19(C100)   自动出现company name

有谁能帮小弟吗???谢谢!!!
回复

使用道具 举报

发表于 15-2-2011 11:47 AM | 显示全部楼层
MID 的用法:=MID(text, start_num, num_chars)

start_num:  第几个开始的数目
num_chars: 字的数目

...
超级飞毛腿 发表于 25-6-2010 02:23 PM



    这招有效,谢谢侬!
回复

使用道具 举报

发表于 15-2-2011 11:50 PM | 显示全部楼层
这招有效,谢谢侬!
joel0712 发表于 15-2-2011 11:47 AM



    不用客气。。。
回复

使用道具 举报

发表于 15-2-2011 11:54 PM | 显示全部楼层
各位大哥好。。。小弟最近想简化作业上的程序。。。问了很多同事。。他们都不懂excel比较advance的运作。。 ...
alex_cheong 发表于 29-12-2010 02:05 PM



    可以试试用 vlookup 的方程式来做看。 不过 ,两个file 需要同一个时间开着才有效。

    你也可以试试用 Index 和 Match 的方程式。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 29-3-2024 07:00 PM , Processed in 0.077994 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表