Tag: 格式

根据标题 – Excel格式化一系列的列

我有一个解决scheme的一部分,但它不是像我希望的工作,所以我来找你的意见。 我经常收到Excel文件,我需要修改格式。 我正尝试通过尽可能多地自动化这些过程来学习VBA。 我完成一个特定的格式是将date转换为“DDMMYYYY”(09091986),通常在09/09/1986。 在我的工作表中,总共有3个包含date的列,所有这些列都需要相同的格式,并且在标题中都有“DATE”字样。 他们不相邻。 我还必须小心,不要有任何其他数据的影响,因为我有姓名和地址可能包含字符“date”。 所以,背景的方式…我试图search第一行,直到我find单词“date”,然后格式化每个单元格,直到最后一行,然后再移动到包含单词“ DATE“并重复此操作,直到所有包含单词”DATE“的列都被格式化。 我相信你有一个简单的解决scheme,但我似乎无法自己find它。 这是我有的代码… Sub Dateformat() Dim LastRow As Integer Dim FindCol As Integer Dim C1 As Integer LastRow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row FindCol = Cells.Find(What:="DATE", LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Column For C1 = 2 To LastRow Cells(C1, FindCol).NumberFormat = "DDMMYYYY" Next C1 End Sub 这适用于包含date的第一列,但不移动到下一列。 […]

在Proc Tabulate for ODS Excel中格式化数字

我有一个简单的PROC TABULATE工作正常,并通过ODS在Excel中生成输出。 不过,我所有的号码都是以“通用”格式显示的,没有点或千位之间的小数点。 我尝试了像COMMA12.2 COMMAX12.2格式,但只有DOLLAR12.2正在工作(但我不想美元符号)。 我试过把格式放在不同的地方,结果一样。 这是我的代码: ods tagsets.excelxp; proc tabulate data=Capital; var Aantal_Producten Kapitaal; class Soort; table soort all = 'Totaal' *[style=[backgroundcolor=light grey]], Kapitaal * sum =' ' * f = comma12.2 Aantal_Producten = 'Aantal Producten' * sum =' ' * f = dollar12.2 /indent = 4; run; quit; ods tagsets.excelxp close;

Excel用户窗体和windows.visible

我需要一些帮助完成这个项目。 我创build了一个用户表单,它充当一个数据input表单,并运行各种报表,工作正常。 用户窗体打开Workbook_Open事件,我需要隐藏工作簿,因为用户有打破它的习惯! Application.visible = false作品,但是,当用户打开其他工作簿并closures它们,用户窗体的父工作簿也closures或隐藏用户窗体,我不知道如何防止它。 我已经尝试了一些API调用,但是在工作簿closures或隐藏(包含表单)的情况下,我仍然遇到同样的问题。 有没有人设法find正确的API,使用户窗体看起来或作为一个独立的应用程序,例如打开没有工作簿是可见的,允许其他工作簿/程序来到前面,允许用户select父工作簿/用户窗体在任务栏需要时,在上一个工作簿closures时不会隐藏或closures。 如果任何人都可以指向正确的方向或列出API调用,我真的很感激。 我正在使用Excel 2013。 非常感谢 皮特

应该用什么来代替Microsoft Windows Common Controls 6.0

我们的用户之一有一个Excel VBA项目引用Microsoft Windows公共控件6.0。 相应的MSCOMCTL.OCX文件不再存在于我们的映像中,因此当然由于缺less引用,项目将不会运行。 而不是在我们的Office 64位64位Windows 7 64位系统上安装Microsoft Visual Basic 6.0公共控件 ,有没有什么不同,用户可以参考他们的项目,更现代化和支持? 旁边的问题:如果我们安装它,它甚至可以工作,与64位Excel调用一个32位的OCX? 回答:我尝试了64位Office安装,答案是否定的。您可以安装,注册并引用它,但实际上不能使用任何UI控件。 他们根本没有出现在列表中。

防止在Excel中显示散列符号(#),而不更改单元格的格式或宽度

我有以下Excel VBA代码: Sheet1.Columns.ColumnWidth = 8.14 Sheet1.Rows.EntireRow.RowHeight = Sheet1.Cells(1).Width Sheet1.Cells.WrapText = True Sheet1.Cells.NumberFormat = "F0 P0 C0" & vbLf & "00 00 00" Sheet1.Cells.Value = 123456789 前两行使我的表格中的单元格为8.14个水平点的完美平方,下面的行旨在使每个单元格看起来像这样(也就是在同一个单元格中的可视“分离”部分中显示9位数字): F1 P2 C3 45 67 89 问题是,由于它的感知长度,Excel取代了我的数字(它应该完全适合于在两行上的8.14磅大小的单元格,因为它是用字符包装的),因为它的感知长度 – 我不想这样做。 有没有办法,通过Excel设置或VBA代码,以防止这种自动行为,而不改变单元格格式为“一般”或“文本”,或增加单元格的宽度? 现在我已经看到过这个问题,但是所有的答案都提到了改变单元格的格式或大小,我不能这样做,原因有两个: 这个表格被认为是一个或多或less的地理“地图”,其中每个单元格都是该地图上的一个点,所以很自然地,我需要在Excel的可见部分中显示尽可能多的“点”。 如果我使单元格(方块)变大,我几乎不能将10×4的网格放入可见部分,以100%的缩放比例 – 因为我必须将单元格先前的大小加倍到124像素,以使Excel显示我的编号不变 如果我将格式更改为“文本”(akastring单元格值),则我的Excel文件变得很大(约1MB),并且几乎不可用,因为地图大约为255×128“点”。 与相同数量的“文本”/string格式化的单元相比,255×128数字格式的单元工作得更快 如果我将格式更改为“常规”或多或less与上述相同,再加上我不能使用自定义格式来“分隔”我的数字部分,如我的示例所示(是的,这是预期的外观) 。 编辑:虽然检查http://datapigtechnologies.com/blog/index.php/forcing-carriage-return-in-custom-date-format/我发现从某个戴夫(信贷给他),这也是解决scheme对我的问题: 如果您尝试缩小列宽,您会注意到在您(或我)认为您应该看到之前您会看到####的方式。 但是稍微改变就可以解决这个问题。 在格式单元格对话框的alignment选项卡上,closures包裹文本(如果打开)。 打开“缩小到适合”,然后打开包装文本。 我试了一下,它的工作! 这个VBA代码同样简单 – 在我的初始代码之后添加下面的代码来实现: Sheet1.Cells.WrapText […]

有条件地格式化单元格,或者根据另一个单元格的内容填充单元格,如果第二个单元格大于3。

我在一个单元格中有一个六位数的参考。 在同一张工作表上,如果数字的第二个数字大于3,我想格式化一个单元格。 我不介意使用查询而不是条件格式。 因为,理想情况下,如果引用的单元格中的第二个数字大于3,我希望在框中放置十字形的“x”,或者至less使用格式化的灰色框。

如果我的范围不等于今天的date,如何删除行?

我是第一次尝试macros观的初学者。 如果列K中的date不等于今天的date,我想要删除整个工作表的行。 除了某些语法错误,我不能补救的代码之外,我相信数据转储的列K没有被格式化为捕获我试图运行的代码的date。 这是我到目前为止的代码。 请使用在线资源,试图自学的人温柔:) Sub GetTodaysPopulation() Dim MySheet As Worksheet, MyRange As Range Dim LastRow As Long, LastCol As Long Application.DisplayAlerts = False Set MySheet = ThisWorkbook.Worksheets("TradeExData") ThisWorkbook.Worksheets("TradeExData").Activate With MySheet LastRow = .Range("A" & .Rows.Count).End(xlUp).Row LastCol = .Range("A" & .Columns.Count).End(xlToLeft).Column Set MyRange = .Range(.Cells(1, 1), .Cells(LastRow, LastCol)) End With With MyRange .AutoFilter([Field:=11], [Criteria1: <> […]

Excel文件导入date为指数(例如1.74E + 09)值date格式?

我打开一个Excel文件,其中列的Time有date和时间作为值。 当上传到Excel时,我曾经拥有的date现在用指数表示法表示,例如1.74E+09和1.75E+09 )。 我可以在Excel中使用哪种date格式将这些数字转换为dd/mm/yyyy hh:mm:ss或者至less是yyyy/mm/dd ?

将单元格中的date插入到数据透视表中以将其用作filter

我很新的VBA。 我会解释我的项目。 我有一个Excel工作表,有很多我想要过滤的信息。 目前我的代码如下所示: With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _ "CREATION_DATE") .Orientation = xlPageField .Position = 1 End With ActiveSheet.PivotTables("Tableau croisé dynamique2").AddDataField ActiveSheet. _ PivotTables("Tableau croisé dynamique2").PivotFields("AMOUNT"), _ "Nombre de AMOUNT", xlCount With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("STATUS") .Orientation = xlRowField .Position = 1 End With With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _ "VENDOR_NAME") .Orientation = xlRowField .Position = 2 […]

在Excel中使用查询时如何设置数字格式

我在Excel中创build了一个查询,它从几个表中导入数值并将它们连接在一个Pivot表中: SELECT `'Budget 2017$'`.`PROPOSTA BUDGET 2017` FROM `S:\30000\ESA_2017.xlsx`.`'Budget 2017$'` `'Budget 2017$'` UNION ALL SELECT `'Budget 2017$'`.`PROPOSTA BUDGET 2017` FROM `S:\30000\SMM_2017.xlsx`.`'Budget 2017$'` `'Budget 2017$'` 查询中的输出值是第一个文件(ESA_2017.xlsx)的数字格式,而第二个文件(SMM_2017.xlsx)是以文本格式转换的,我不明白为什么。 input值在原始表中都是数字格式,但查询创build的表中的输出值有时是数字,有时是文本格式。 你有任何线索,为什么它的工作原理不同? 如何更改查询中的格式输出? 有没有我可以包含在查询中的任何代码或function? 谢谢,Stefy 这里是我的查询代码的屏幕: 这里是我的输出值的屏幕: