24 VBA初学者的24个有用的Excel宏示例(即用即用)

使用Excel Macros可以加快工作并节省大量时间。

获得VBA代码的一种方法是记录宏并拍摄它生成的代码。但是,宏录像机的代码通常充满了不是真正需要的代码。此外,宏记录器还有一些局限性。

因此,您可以在后面的口袋中收集有用的VBA宏代码,并在需要时使用它。

在编写Excel VBA宏代码时可能会在一段时间内需要一些时间,一旦完成了,您可以将其作为参考作为参考,并在下一步需要它时使用它。

在这篇篇幅很长的文章中,我将列出一些我经常需要的Excel宏示例,并将它们保存在我的私人仓库中。

我将继续使用更多宏示例更新本教程。如果您认为某些事情应该在列表中,请留下评论。

你可以把这个页面收藏起来,以便将来参考。

现在,在我进入宏例子和给你的VBA代码,让我先展示给你如何使用这些示例代码。

使用Excel宏示例的代码

以下是你需要遵循的步骤来使用任何例子中的代码:

  • 打开要使用宏的工作簿。
  • 按住ALT键并按F11。这将打开VB编辑器
  • 右键单击“项目资源管理器”中的任何对象。
  • 转到插入 - >模块。
  • 复制并粘贴模块代码窗口中的代码。

如果示例说,您需要在工作表代码窗口中粘贴代码,请双击工作表对象并复制粘贴代码窗口中的代码。

将代码插入工作簿后,需要使用. xlsm或. xls扩展名保存它。

如何运行宏

一旦您在VB编辑器中复制了代码,就是运行宏的步骤:

  • 转到Developer选项卡。
  • 单击宏。

VBA Excel宏例子-开发人员

  • 在“宏”对话框中,选择要运行的宏。
  • 单击“运行”按钮。

VBA Excel宏示例 - 运行宏

如果您找不到功能区中的开发人员选项卡,阅读本教程学习如何获得它。

相关教程:在Excel中运行宏的不同方式。

如果代码粘贴在工作表代码窗口中,则不需要担心运行代码。当指定的操作发生时,它将自动运行。

现在,让我们进入有用的宏示例,可以帮助您自动化工作并节省时间。

注意:您将找到许多撇号(')的实例,然后是一两行。这些是运行代码时忽略的注释,并作为自主/阅读器被放置为Notes。

如果您在文章或代码中找到任何错误,请令人敬畏,让我知道。

初学者博客的Excel宏示例

Excel宏的例子

下面是本文中介绍的宏示例:

取消隐藏所有工作表

如果您正在具有多个隐藏表的工作簿中工作,则需要一个接一个地取消隐藏这些表。如果有许多隐藏的表格,这可能需要一些时间。

下面是将显示工作簿中所有工作表的代码。

“此代码将在ActionWorkBook.workCooks WS.wisible中的每个WS中取消工作簿SUB UCHIDEALLWOKEETS()作为工作表的所有工作表.wisible = xlsheetvisible下一个ws结束子子

上面的代码使用VBA循环(For Each)检查工作簿中的每个工作表。然后将工作表的可见属性更改为可见。

以下是如何使用各种方法的详细教程Excel中的取消隐藏床单

隐藏除活跃表之外的所有工作表

如果你在写报告或者仪表盘如果您想隐藏除具有报表/仪表板的工作表外的所有工作表,可以使用此宏代码。

'此宏将隐藏所有工作单,但是除了主动表子hideallexceptActivesheet()中的所有工作表都在本文中的每个WS中的工作表.ws.name <> activeSheet.name然后ws.visible = xlsheethidden下的下一个ws结束子子

使用VBA按字母顺序排序工作表

如果您有具有许多工作表的工作簿,并且您希望按字母顺序排序,则此宏代码可以充实。如果您有年份或员工姓名或产品名称,则可能是这种情况。

“此代码将按字母顺序排序地对工作表进行排序SUITSHETSTABNAME()应用程序.SCREENUPDATION = FALSE DIMP SHCOUNT作为整数,I作为整数,j作为整数shcount = sheets.count for i = 1到shcount  -  1 for j = i + 1到shcount如果表格(j).name 
              

一次保护所有工作表

如果工作簿中有很多工作表,并且希望保护所有工作表,可以使用此宏代码。

它允许您在代码中指定密码。您将需要此密码来解除工作表。

“此代码将在一个转发子保护镜片()下的所有工作表Dim Ws作为工作表Dim Password作为字符串密码=”Test123“'用所需的密码替换测试123在工作表中的每个WS中的密码Ws.Protect密码:=密码下一页WS终止子

一次解除所有工作表的保护

如果保护了部分或所有工作表,只需对用于保护工作表的代码稍加修改即可取消保护。

Sub ProtectAllSheets() Dim ws As Worksheet Dim password As String password = "Test123" '将Test123替换为您想要的每个ws在工作表ws中的密码。Unprotect password:=password Next ws End Sub

注意,密码需要与锁定工作表所用的密码相同。如果不是,您将看到一个错误。

取消隐藏所有行和列

此宏代码将显示所有隐藏的行和列。

如果您从别人那里获得了一个文件,并且想确定没有的话,这将非常有用隐藏的行/列

'这段代码将在工作表子UnhideRowsColumns() columns . entireccolumn . hidden = False rows . entirrow . hidden = False结束子

unmerge所有合并的细胞

合并细胞使它成为一个常见的做法。虽然它做了工作,当细胞合并时,您将无法对数据进行排序。

如果您正在使用合并单元格的工作表,请使用下面的代码取消合并所有合并单元格一次。

'此代码将unmerge所有合并的单元格Sub UnmergeAllCells() ActiveSheet.Cells.UnMerge结束Sub

请注意,我建议使用合并和中心中心在选择选项。

保存名称中带有时间戳的工作簿

很多时候,您可能需要创建工作版本。这些在您使用随时间的文件工作的长项目中非常有帮助。

一个很好的做法是用时间戳保存文件。

使用时间戳将允许您返回到某个文件,查看进行了哪些更改或使用了哪些数据。

以下是将在指定文件夹中自动保存工作簿的代码,并在保存时添加时间戳。

“此代码将使用其名称子SaveWorkbookWithTimestamp()DIM TimeStamp的时间戳将文件保存为字符串时间戳=格式(日期,”DD-MM-YYYY“)&”_“和格式(时间,”HH-SS“)thisworkbook.saveas“c:useresernamedesktopworkbookname”和时间戳结束子子

您需要指定文件夹位置和文件名。

在上面的代码中,“C:UsersUsernameDesktop是我使用的文件夹位置。您需要指定要保存文件的文件夹位置。另外,我使用了一个通用名称“WorkbookName”作为文件名前缀。你可以指定一些与你的项目或公司相关的东西。

将每个工作表保存为单独的PDF

如果您使用不同年份或部门或产品的数据,您可能需要将不同的工作表保存为PDF文件。

虽然可能是一个耗时的过程,如果手动完成,VBA可以真正加速它。

这是一个VBA代码,将每个工作表保存为单独的PDF。

'这个代码将把每个工作表保存为一个单独的PDF Sub SaveWorkshetAsPDF() Dim ws as Worksheet For each ws In Worksheets ws。ExportAsFixedFormat xlttypepdf,“C:UsersSumitDesktopTest”& ws。Name & ".pdf" Next ws End Sub

在上面的代码中,我已经指定了我想要保存PDF的文件夹位置的地址。此外,每个PDF将获得与工作表的名称相同。您必须修改此文件夹位置(除非您的名称也会umit,您正在将其保存在桌面上的测试文件夹中)。

注意,此代码仅适用于工作表(而不是图表表)。

将每个工作表保存为单独的PDF

下面是将整个工作簿以PDF格式保存到指定文件夹中的代码。

“此代码将将整个工作簿保存为PDF子SaveworkShetaspdf()thewworkbook.exportasfixedformat xltypepdf,”c:userssumitdeskteptest“和thisworkbook.name&”.pdf“结束子

您必须更改文件夹位置以使用此代码。

将所有公式转换为值

当您有一个包含许多公式的工作表并且您想要使用这些代码时将这些公式转换为值

'此代码将所有公式转换为具有ActiveSheet.USERANGE.VALUE = .Value End与END SUB中的所有公式

此代码自动识别使用的单元格并将其转换为值。

使用公式保护/锁定单元格

你可能想要用公式锁定细胞当你有很多计算而且你不想意外删除它或改变它。

以下是将锁定具有公式的所有单元格的代码,而所有其他单元格未被锁定。

'这个宏代码将锁定所有的单元格与公式锁定= False . cells . specialcells (xlCellTypeFormulas)。Locked =True .Protect AllowDeletingRows:=True结束与结束子

相关教程:如何在Excel中锁定单元格

保护工作簿中的所有工作表

使用以下代码在一个转向工作簿中保护所有工作表。

“此代码将在工作表中的每个WS中的工作簿Sub ProtectAllSheets()中的所有工作表作为工作表WS.Protect下一个WS结束子子子

这段代码将逐个检查所有的工作表并保护它。

如果您想取消对所有工作表的保护,请使用ws。不保护而不是ws。在代码中保护。

在选择中的每一行后插入一行

当您想要在选定范围的每一行之后插入空白行时,请使用此代码。

“这段代码将在选择子InsertAlternAtrows()中的每一行之后插入一行Dim RNG作为整数暗仙作为整数SET RNG =选择TOWN.ENTIREROW.Count for i = 1到Thonow ImaceCell.entireerow。插入activeCell.offset(2,0)。选择下一个我结束子子

类似地,您可以修改此代码,在选定范围的每个列之后插入一个空白列。

自动插入相邻单元格中的日期和时间戳

时间戳是您在想要跟踪活动时使用的东西。

例如,您可能想要跟踪一些活动,比如某个特定的费用是何时发生的,销售是何时进行的发票是创建的,何时是在单元格中的数据条目,报告上次更新的时间表等。

使用此代码在进行条目或编辑现有内容时,在相邻单元格中插入日期和时间戳。

'此代码将在错误转到Handler If Target.column = 1和target.value <>“然后application.enable.enable.enable.ens.enablevents = false target.offset(0,0,1)=格式(现在(),“dd-mm-yyyy hh:mm:ss”)application.enablevents = true结束如果处理程序:结束子

请注意,您需要在工作表代码窗口中插入此代码(而不是在模块代码窗口中,就像我们目前在其他Excel宏示例中所做的那样)。为此,在VB编辑器中,双击需要此功能的工作表名称。然后将此代码复制并粘贴到该工作表的代码窗口中。

此外,当数据条目在列A中完成时,将此代码进行工作(请注意代码具有行target.column = 1)。你可以相应地改变这一点。

突出显示选区中的交替行

强调交替行可以极大地增加数据的可读性。当您需要拍摄打印并通过数据时,这可能很有用。

这是一个代码,即将在选择中立即突出备用行。

“此代码将在选择子突出显示中突出显示备用行()暗中MyRange作为范围暗淡MyRow作为范围设置MyRange =在MyRange.rows中的每个MyRange的选择如果myrow.row mod 2 = 1那么myrow.interior.color = Vbyan结束如果下一个MyRow结束子

注意,我在代码中将颜色指定为vbCyan。您也可以指定其他颜色(如vbRed, vbGreen, vbBlue)。

用拼写错误的单词突出显示细胞

Excel没有一个拼写检查因为它有单词或PowerPoint。虽然您可以通过击中F7键运行拼写检查,但在有拼写错误时没有视觉暗示。

使用此代码可以立即突出显示其中有拼写错误的所有单元格。

'这段代码将突出显示有拼写错误的单词的单元格Sub highlightmisspellcells()暗淡cl作为范围为每个cl在ActiveSheet。UsedRange如果不是Application.CheckSpelling(word:=cl. text)然后cl. interior . color = vbRed结束如果下一个cl结束Sub . checkspelling (word:=cl. text

请注意,突出显示的单元格是excel被认为是拼写错误的文本的单元格。在许多情况下,它还将突出显示它不理解的名称或品牌术语。

刷新工作簿中的所有枢轴表

如果你有一个以上数据透视表在工作簿中,您可以使用此代码一次刷新所有这些枢轴表。

“此代码将刷新工作簿Sub Refreshalpivottablas()中的所有枢轴表()暗点为ActiveSheet.pivottables的每个PT为每个PT的数据透视表.PT.RefReshtable下一个PT结束子子

您可以阅读更多信息刷新数据透视表这里。

将所选单元格的字母案例更改为大写

虽然Excel有了公式要更改文本的大小写,需要在另一组单元格中进行更改。

使用此代码可以立即更改所选文本中的文本的大小写。

'这段代码将改变选择为大写Sub ChangeCase() Dim Rng作为范围为每个Rng在选择。如果提高细胞。HasFormula = False然后Rng。Value = UCase(Rng.Value)结束如果下一个Rng结束Sub .Value = UCase(Rng.Value)结束

注意,在本例中,我使用了UCase使文本为Upper。你可以用LCase来表示小写。

突出显示所有带有注释的单元格

使用以下代码突出显示它具有评论的所有单元格。

“此代码将突出显示具有注释的单元emplowlswithComments()ActiveSheet.Cells.SpecialCells(XlcellTypecomments).interior.color = VbBlue End Sub

在本例中,我使用vbBlue给单元格一个蓝色。如果你愿意,你可以把这个换成其他的颜色。

使用VBA突出显示空白单元格

虽然你可以突出显示空白的细胞通过条件格式或使用转到特殊对话框,如果您必须经常这样做,最好使用宏。

创建后,您可以在快速访问工具栏中拥有此宏,或将其保存在个人宏作业簿

以下是VBA宏代码:

“此代码将突出显示DataSet子突出显示器计算机()DIM数据集中的所有空白单元格DIMASET = Selection DataSet.SpecialCells(XlcelltypeBlanks).interior.color = VBreed End Sub

在这段代码中,我指定了用红色高亮显示的空白单元格。你可以选择其他颜色,如蓝色、黄色、青色等。

如何按单列排序数据

您可以使用以下代码按指定列对数据进行排序。

Sub SortDataHeader()范围(“datarange”)。排序键1:=范围(“a1”),server1:= xlascendend,标题:= xlyes结束子子

注意,我已经创建了一个名为“DataRange”的命名范围,并使用了它而不是单元格引用。

这里还使用了三个关键参数:

  • Key1 -这是您想要对数据集进行排序的键。在上面的示例代码中,数据将根据列A中的值进行排序。
  • 订购 - 您需要指定是否要按升序或降序对数据进行排序。
  • Header -这里你需要指定你的数据是否有Header。

阅读更多关于如何在Excel中使用VBA排序数据

如何按多个列对数据进行排序

假设你有一个如下所示的数据集:

数据集在Excel  - 宏示例中使用VBA对数据进行排序

以下是基于多列对数据进行排序的代码:

subsortmultiplecolcolumns () With ActiveSheet。.SortFields排序。Add Key:=Range("A1"), Order:=xlAscending . sortfields。Add Key:=Range("B1"), Order:=xlAscending .SetRange Range("A1:C13") .Header = xlYes .Apply End With End Sub . Add Key:=Range("B1"), Order:=xlAscending .SetRange Range("A1:C13") .Header = xlYes .Apply End With End Sub . End

注意,这里我指定了先根据列A排序,然后根据列B排序。

输出将如下所示:

使用VBA对数据进行排序 - 多列

如何只能从Excel中的字符串中获取数字部分

如果你想的话仅从字符串中提取数字部分或文本部分,您可以在VBA中创建自定义函数。

然后,您可以在工作表中使用此VBA函数(就像常规Excel函数一样),它将仅从字符串中提取数字或文本部分。188亚洲金博宝app

如下图所示:

数据集以获取Excel中的数字或文本部分

以下是将创建从字符串中提取数字部分的函数的VBA代码:

“这个VBA代码将创建一个函数来从String函数GetNumeric(CellRef As String)将数字零件从StringLength = Len(CellRef)暗中为I = 1到StringLength(CellRef,i,1)中的stringLength)然后结果=结果和中期(CellRef,I,1)接下来我GetNumeric =结果结束函数

您需要在模块中的代码中放置位置,然后可以在工作表中使用函数=GetNumeric。

该函数只接受一个参数,即您希望从中获得数值部分的单元格的单元格引用。

同样,以下是将只能从Excel中的字符串中获取文本部分的函数:

这VBA代码将创建一个函数来获取文本部分从一个字符串函数GetText (CellRef字符串)暗StringLength整数StringLength = Len (CellRef) i = 1到StringLength如果不是(IsNumeric(中期(CellRef我1)))然后结果=结果&中期(CellRef, 1)接下来,我结束函数GetText =结果

因此,这些是您可以在日常工作中使用的一些有用Excel宏代码来自动化任务,并且更加富有成效。

您可能喜欢的其他Excel教程:

Excel电子书订阅

免费的EXCEL的书

获得51个Excel提示电子书来提高你的生产力,更快地完成工作

47关于VBA初学者的24个有用的Excel宏示例的想法(即用即用)“

  1. 大家好,谢谢分享。如果我想打印嵌入在Excel工作簿中的所有附件/对象(如Excel文件、PDF文档、word文档),我可以询问代码吗?

  2. 这个页面有一个问题
    24 VBA初学者的24个有用的Excel宏示例(即用即用)

  3. 这很酷!如果我可能会提出更具体的问题:让我们说我想要将各种工作表保存到PDF,但我只想转换以“d_”开头的工作表。这可能吗?

  4. 你好,如果我从一个字符串中有2组数字部分,我想将它们分开

  5. 你好,
    我正在工作的一个excel数据库的黑胶唱片。
    ROW G显示曲目是否为“A”或“B”侧。
    我想做的是,当'a'键入该列中的任何单元格时,相应的单元格显示轨道标题将变为浅绿色。
    如果输入“b”,细胞将保持白色。
    感谢您的帮助。

  6. 你好
    我想知道如何在不同的工作簿中再次保存我的代码并在不同的工作簿中再次使用它,并且在不同的工作簿中再次运行代码或者我更改了单元格号,我遇到了问题。通过宏可以通过excel另一个订单来创建功能吗?

  7. 快速瞥一眼宏看起来很有趣。
    我可以看到它们的一些用来修改。

  8. 如果我们使用宏保护工作表,那么任何人都可以从编码中看到密码,并将打败保护的目的。如何停止这种情况?

  9. 我想要一个Excel VBA编程文件,用于道路横截面和长部分,在Excel中制作并发送到AutoCAD。自动化VBA程序。

  10. 你的评论有待审核。

    我想要带有网站URL PLZ的超链接我的图像,帮助我抚摸我的图像!我想把它寄给展望

    子Send_email_fromexcel ()
    昏暗的Edress作为字符串
    昏暗的主题作为字符串
    昏暗的消息作为字符串
    昏暗的文件名,fname2作为字符串
    暗淡outlookapp作为对象
    暗淡outlookmailitem作为对象
    将myAttachments设置为对象
    昏暗的路径作为字符串
    将最后一行设置为整数
    DIM附件为字符串
    将x设置为整数

    x = 2

    SET OutlookApp = CreateObject(“Outlook.Application”)
    设置outlookmailitem = outlookapp.createitem(0)
    设置myAttachments = outlookmailitem。附件
    路径= " C: UsersUserDesktopstatements "

    EDRESS = SHOTH1.CELLS(x,1)

    subj = sheet1.cells(x,2)
    文件名= Sheet1。细胞(x, 3)
    fname2 =“ledingplz-safe-gold.jpg”

    附件= path + filename

    Outlookmailitem.to = Edress.
    Outlookmailitem.cc =“”
    outlookmailitem。bcc = " "
    outlookmailitem。主题=主题
    Outlookmailitem.Attachments.Add Path&Fname2,1

    Outlookmailitem.htmlbody =“谢谢您的合同”_
    &“好好完成这项工作”_
    &“
    outlookmailitem。htmlBody = " " & outlookmailitem。htmlBody & " "

    'Outlookmailitem.body =“请找到您的陈述”和vbcrlf和“最好的问候”

    outlookmailitem.display
    “outlookmailitem.send

    Lastrow = Lastrow + 1
    edress = " "
    x = x + 1

    设置outlookapp =没有
    设置outlookmailitem =没有

    终止子

  11. Hello good day i want to learn how to open the item that is listed in the listbox like for example 3 item in listbox and every item has a corresponding worksheet. after i select the item it opens a new workbook and show the data

  12. 我尝试了仅使用公式保护细胞的宏。它对当时活跃的表格良好,但不能在下班表中使用公式保护任何单元,即使我试图在打开下一张纸时运行它。我可以做些什么来在多张上用它。

  13. 你好,
    我为一家金融公司工作,我需要一个解决方案,在那里,多组数据值得到粘贴到结果表,也计算他们的值,在条件下。

    请问你能帮助我提出建议吗?

  14. 我在财务相关的领域工作,但没有人理解(或知道如何构建)模型为我们做大量工作而不是手动输入所有工作。目前,我正在尝试将5或6个单独的电子表格的银行和解转换为最多3 ...优选为1,但这是雄心勃勃的。我来自另一家公司已经创造了复杂的模型,但现在我处于知道他们有多有价值,没有足够的卓越知识来构建它们应该如何建造它们(我可以做简单的模型)。

    我不确定vlookup或宏或两者的结合是否是我的最佳解决方案。我所知道的是,一系列的求和和手工输入并不能达到目的。

    有人能帮忙吗?

  15. 我想在发票中乘坐细胞副本,例如。客户姓名,地址,金额等。这些在发票上的连续状态,我想将VBA传输到表2以制作数据库。

  16. 如何通过更改单元格值来运行宏。
    单元格值是宏的触发器?

  17. 嗨,我需要一个宏代码来复制特定小区的跟踪的调整单元参考。

    如。我有3个工作表,我有两个工作表有相同的文本和调整数值在另一列。但在第三张表的文本名称略有不同,所以我不能在这里使用vlookup。所以我想要从第1页单元格复制文本,并在第2页搜索,去它的trace先例,并复制该单元格和过去在1页

  18. 私人潜艇CommandButton1_Click ()

    如果Txtl = " "或Txtb = " " Txtc = "或Txtr = "或Txtlpa = " Txtd = "或Txtp = "或Txta = " Txte = "或Txtw = "或Txtq = " Txtdl = "或Txtehm = "或Txtco = " Txtbo = "或Txtcurr = "或Txtwritten = "

    留言框“请填写所有详细资料”

    txtl =“”
    txtb =“”
    txtc =“”
    txtr =“”
    txtlpa =“”
    Txtd = " "
    txtp =“”
    txta =“”
    Txte = " "
    txtw =“”
    Txtq = " "
    txtdl =“”
    txtehm =“”
    Txtco =“”
    Txtbo = " "
    txtcurr =“”
    txtwritten =“”

    取消= True

    退出亚

    万一

    如果范围(A2)。Value = " " Then

    床单(“输出”)。选择
    范围(“A2”)。值= txtl
    范围(“B2”)。值= txtb
    范围(C2)。值= Txtc
    范围(“D2”)。值=格式(TXTR,“MM / DD / YYYY”)
    范围(E2)。值= Txtlpa
    如果IsNumeric (Txtd)
    范围(F2)。取值=格式(Txtd, " mm/dd/yyyy ")
    别的
    范围(F2)。值= Txtd
    万一
    如果IsNumeric (Txtp)
    范围(“g2”)。值=格式(txtp,mm / dd / yyyy)
    别的
    范围(“g2”)。值= txtp
    万一
    如果是Isnumeric(txta)那么
    范围(H2)。取值=格式(Txta, " mm/dd/yyyy ")
    别的
    范围(“H2”)。值= txtA
    万一
    如果是Isnumeric(txte)那么
    范围(“i2”)。值=格式(txte,“mm / dd / yyyy”)
    别的
    范围(I2)。值= Txte
    万一
    如果是Isnumeric(TXTW)那么
    范围(J2)。取值=格式(Txtw, " mm/dd/yyyy ")
    别的
    范围(J2)。值= Txtw
    万一
    如果IsNumeric (Txtq)
    范围(“k2”)。值=格式(txtq,mm / dd / yyyy“)
    别的
    范围(“k2”)。值= txtq
    万一
    如果IsNumeric (Txtdl)
    范围(L2)。取值=格式(Txtdl, " mm/dd/yyyy ")
    别的
    范围(“l2”)。值= txtdl
    万一
    如果IsNumeric (Txtehm)
    范围(“m2”)。值=格式(txtehm,“mm / dd / yyyy”)
    别的
    范围(M2)。值= Txtehm
    万一
    范围(“n2”)。值= txtco
    范围(“p2”)。值= txtbo
    范围(“O2”)。值= txtcurr
    范围(“Q2”)。值= txtwritten

    其他:

    lr =表(“输出”)。范围(“A”& Rows.Count)指标(xlUp) .Row最终

    范围(“A”& lr)。Offset(1,0).Value = Txtl .Value
    范围(“B”&LR).offset(1,0).value = TxtB
    范围(“C”&LR).offset(1,0).value = txtc
    范围(“D”& lr)。Offset(1,0).Value = Format(Txtr, " mm/dd/yyyy ")
    范围(“e”&lr).offset(1,0).value = txtlpa
    如果IsNumeric (Txtd)
    范围(“F”& lr)。Offset(1,0).Value = Format(Txtd, " mm/dd/yyyy ")
    别的
    范围(“f”&lr).offset(1,0).value = txtd
    万一
    如果IsNumeric (Txtp)
    范围(“g”&lr).offset(1,0).value =格式(txtp,“mm / dd / dd / yyyy”)
    别的
    范围(“g”&lr).offset(1,0).value = txtp
    万一
    如果是Isnumeric(txta)那么
    范围(“H”&LR).offset(1,0).value =格式(txta,“mm / dd / yyyy”)
    别的
    范围(H & lr)。Offset(1, 0).Value = Txta
    万一
    如果是Isnumeric(txte)那么
    (“我”和lr)范围。Offset(1,0).Value = Format(Txte, " mm/dd/yyyy ")
    别的
    范围(“i”&lr).offset(1,0).value = txte
    万一
    如果是Isnumeric(TXTW)那么
    范围(“j”&lr).offset(1,0).value =格式(Txtw,“mm / dd / yyyy”)
    别的
    范围(“j”&lr).offset(1,0).value = txtw
    万一
    如果IsNumeric (Txtq)
    范围(“K”& lr)。Offset(1,0).Value = Format(Txtq, " mm/dd/yyyy ")
    别的
    范围(“k”&lr).offset(1,0).value = txtq
    万一
    如果IsNumeric (Txtdl)
    范围(“L”& lr)。Offset(1,0).Value = Format(Txtdl, " mm/dd/yyyy ")
    别的
    范围(“L”& lr)。Offset(1,0).Value = Txtdl
    万一
    如果IsNumeric (Txtehm)
    范围(“m”&lr).offset(1,0).value =格式(txtehm,mm / dd / yyyy“)
    别的
    范围(“M”& lr)。Offset(1,0).Value = Txtehm
    万一
    范围(“N”& lr)。Offset(1,0).Value = Txtco .Value
    范围(“O”& lr)。Offset(1,0).Value = Txtbo
    范围(“p”&lr).offset(1,0).value = txtcurr
    范围(“q”&lr).offset(1,0).value = txtwritten

    万一

    txtl =“”
    txtb =“”
    txtc =“”
    txtr =“”
    txtlpa =“”
    Txtd = " "
    txtp =“”
    txta =“”
    Txte = " "
    txtw =“”
    Txtq = " "
    txtdl =“”
    txtehm =“”
    Txtco =“”
    Txtbo = " "
    txtcurr =“”
    txtwritten =“”

    终止子

    私有子TXTB_BEFOREUPDATE(BYVAL CANCELAS作为MSFORMS.RETURNBOOLEAN)
    如果是Isnumeric(Txtn)> 50那么
    短信框“请只填写文字”
    txtn =“”
    取消= True
    万一

    终止子

    私人潜艇Txtb_Change ()

    终止子

    私有子TXTL_BEFOREUPDATE(BYVAL CANCELAS作为MSFORMS.RETURNBOOLEAN)
    如果len(txtl)> 8那么
    txtl =“”
    MsgBox "请只输入数字8 "
    取消= True
    万一

    如果不是IsNumeric(Txtl)则
    txtl =“”
    MsgBox“请输入数值”
    取消= True
    万一
    终止子

    私有子TXTL_CHANGE()

    终止子

  19. 嗨,兄弟,

    我怎么能采取在展望的方式来解决VBA。

    问候,
    宝贝

  20. 嗨,伙计们,

    我需要一些帮助我的Excel数据库。
    我创建了一个包含两组单选按钮的Form。
    表单工作得很好,除了这些单选按钮的结果。
    我希望他们说“af渣”和“Opbod+ af渣”,而不是“真”和“假”。

    我怎样才能做到呢?

    很高兴听到你们的消息。

    Roel.

  21. 关于保存名称中带有时间戳的工作簿副本的一些想法。

    我一直这样做(手动),这为我节省了很多备份的麻烦。我使用格式“yyyymmdd_hhmm”,因为这样我可以在文件资源管理器中按字母顺序排序。我可能会将您的函数添加到我的库中,这样我就可以对它进行热键操作,因为有几次我太专注于开发,以至于忘记保存时间戳副本,从而损失了几个小时的工作时间!谢谢你的提示。

    如果用户更喜欢,我猜,那么更直观的日期格式,而不是“DD-MM-yyyy”,一个更普遍的编码适合美国的人等,将是格式的(日期,“短日期”)将自动使用本地格式(为我们的美国朋友MM-DD-YYYY)。

  22. 刷新所有枢轴点吗?
    我使用Ctrl + Alt + F5来刷新所有(也许有一个好原因为什么不,但我没有一个)

    将所有这些可能有用的片段放在一个地方是个好主意

    有用的宏在我的个人。xlsb军队包括:
    •在细胞之间切换中心(合并真的是魔鬼的产卵)
    •清除用户定义的样式(我的电子表格臃肿超过3000)
    •unprotect工作表(当您没有密码时)
    切换状态栏(多显示一行)
    •上部,较低,句子和标题案件之间的循环案例 - 后者具有选定的异常(A,IT,AA,RAC,PH等)

      • 嗨Carl,复制和粘贴以下内容:

        子PWD()
        在错误恢复下一个
        为j =我= 65 - 66:65至66:65 k = 66: l = 65 - 66: m = 65 - 66: n = 65 - 66: o = 65 - 66: p = 65 - 66: q = 65 - 66: r = 65 - 66:为t = = 65 - 66: 32 - 126
        ActiveSheet.UnProtect Chr(i)&Chr(j)&chr(k)&chr(l)&chr(m)&chr(n)&chr(o)&chr(q)&chr(q)&chr(r)&chr(s)和chr(t)
        如果ActiveSheet。ProtectContents = False Then
        MSGBox“工作表解锁,RESCOCK:”&CHR(i)&CHR(k)&chr(l)&chr(l)&chr(n)&chr(n)&chr(o)&chr(p)&“”&chr(q)&chr(r)&chr(s)&chr(t)
        退出亚
        万一
        下一页:下一页:下一页:下一页:下一页:下一页:下一页:下一页:下一页
        终止子

        请享用

        nb找到的密码不是密码,只需一个工作,并且如果用来重新锁定仍将允许原始密码工作
        这仅适用于工作表,而不是工作表 - 尽管您可能会发现相同的密码

        吉姆

评论被关闭。