Tag: 格式

Windows窗体的外观

刚开始使用Visual Studio 2008,并希望将我的VBA UserForms转换为VB.NET,目的是将陈旧的UserForm控件升级到与操作系统匹配的较新的Windows窗体控件。 我在Visual Studio中创build的Windows窗体看起来不错,但是当我在PowerPoint或Excel中加载它们时,窗体控件看起来和以前一样丑陋(例如简单的矩形button)。 有没有办法在Visual Studio中使用VB.NET在我的Windows窗体中使用现代控件?

C#,Microsoft Interop,Excel数字格式问题

我正在使用C#尝试在Excel中将范围格式化为数字。 当这样做,我得到在angular落里的绿色错误箭头问我,如果我想格式的列作为一个数字。 我使用下面的代码来格式化数据: Excel.Range Data = currentSheet.get_Range("K2:K10", Type.Missing); Data.NumberFormat = "0.00"; 如何将范围转换为数字,以便excel快乐?

C#到Excel设置自定义date显示和值

给定某个date,我想设置一个DateTime对象的单元格的值 ,但没有“时间”信息。 例如,今天的价值将只是“29/06/2012”,而不是“2012年6月29日16:54:36” 。 关于展览,今天的date,我希望它是这样写的(这是法语,我不知道它是如何用英语): “29 juin”而不是“29/06/2012” 。 我怎样才能做到这一点? 编辑 :我只是看看显示格式我需要在Excel中,它是“jmmmmmm”(“ddmmmm”在C#中)。 但是,单元格虽然取值,但不包含格式。 这是一段代码: cell.Value = string.Format("{0:dd/MM/yyyy}", DateTime.Now); cell.NumberFormat = "jj mmmm"; 我也试过: cell.Value = DateTime.Now; cell.NumberFormat = "jj mmmm"; 在这种情况下,显示格式正常,但单元格值包含时间信息,这是不正确的。

使用VBA计算基于频率的到期date

所以,现在我有这个Excel表, 最后修订date。 我已经命名这个专栏“LastRevisionDate”。 然后我有一个名为“RevisionFrequency”的列。 “RevisionFrequency”包含一个下拉菜单(数据validation),包括术语“ Annually ,“ Semi-Annually ”和“ Quarterly 。 然后我有一个专栏说明“NextRevisionDate”。 所以我想写一些VBA代码来计算LastRevisionDate和RevisionFrequency中的NextRevisionDate 。 例如。 在列“A”中,我的修订频率是Semi-Annually一次,而最后一次修订date是“B”列中的Mar-14 ,那么我希望NextRevisionDate在列“C”中表示9月份 。 这基本上是说这个项目每年修改两次。 所以我想创build一个macros,其中列“C”是基于RevisionFrequency和LastRevisionDate 。 我意识到我可以用一个公式来做到这一点,但我有新的项目不断添加,所以我不想保持复制公式到每个单元格。 还有一些项目,他们不需要修订,我也想有一个空白的单元格,如果没有LastRevisionDate 。 到目前为止,我有这样的代码: Private Sub Worksheet_Change(ByVal Target As Range) Dim ws As Worksheet Set ws = Sheets(1) 'For this reference of the Column Named LastCalDate I am getting an error If Not Intersect(Target, […]

Findwindow在64位VBA7中不起作用

解锁密码保护的VBA项目中提供的代码工作在32位,但不是64位。 特别, Ret = FindWindow(vbNullString, "VBAProject Password") 总是返回0.我已经尝试过 Ret = FindWindow("#32770", "VBAProject Password") Ret = FindWindow("XLMAIN", "VBAProject Password") 没有用。 我也尝试了以下API:setforegroundwindow,bringwindowtotop,setfocus,getactivewindow,getwindowthreadprocessid。 仍然失败,所以我不认为这是一个焦点问题。 也许是时机? 我试过使用 SetTimer 但我是API的新手,所以不知道如何实现。 我打电话通过我的personal.xlsb中的workbookopen应用程序事件我想在打开任何工作簿时填写密码。 Private Sub AppEvent_WorkbookOpen(ByVal wb As Excel.Workbook) If wb.VBProject.Protection <> 1 Then Exit Sub End If Call unlockvba(wb) End Sub 编辑:我已经将我的声明设置为PtrSafe和LongPtr在适用情况下。

如何在Excel VBA中从date格式更改为数字?

我将项目存储在字典中,其中键为date,例如'2012/05/11'。默认情况下,该键被改为数字(41040)。 当我想要检索该项目时,我需要通过编号:dFRmonths.Item(41040)来引用它。 由于dFRmonths.Item(“2012/05/11”)不存在。 我只有date,而不是数字,所以我需要将date转换为数字,然后使用数字进行查找。 尝试将date转换为数字会导致“溢出”错误: IntMonth = CInt("2012/05/11") 任何想法如何改变“2012/05/11”到41040,所以我可以看看它? 谢谢!

清除所有checkbox

我创build一个macros来清除表单中的单元格和所有checkbox,但是它只会清除第一个checkbox中的checkbox(并勾选所有其他checkbox)。 我的代码: Sub clearcheck() ActiveSheet.CheckBoxes.Value = False Range("D4:E4").Select Selection.ClearContents ActiveSheet.Shapes.Range(Array("Label 61")).Select Range("H4:I4").Select Selection.ClearContents Range("M4:N4").Select Selection.ClearContents End Sub 截图 任何人都可以帮我用我的代码?

手动replace工作时,Excel VBAreplacebuild立date格式

我从一个自动生成的时间戳转换成一个date格式的Excel格式可以理解通过删除一个“ – ”inbetweendate和时间。 运用 Sub dateFix() Worksheets("INPUT CALC XL BASED").Range("B:B").Replace _ What:="-", Replacement:="", _ SearchOrder:=xlByColumns, MatchCase:=True End Sub 它会返回大部分date正确的DD / MM / AAA,但有些将被任意改为MM / DD / AAA。 我注意到,最小的数字(10以下)往往是困惑。 input有点像 18/02/2016 – 12:54 10/02/2016 – 17:11 05/02/2016 – 13:13 01/02/2016 – 08:55 和它转换一样 18/02/2016 12:54 (right) 10/02/2016 17:11 (right) 02/05/2016 13:13 (wrong) 02/01/2016 08:55 (wrong) 奇怪的是,使用Excel中内置的replace,它是正确的。

Excel条件格式化多行

我试图强调超出预期值范围的细胞(仅限更高或更低)。 每一行对应一个不同的行,它有两个单元格,分别是最大值和最小值。 有没有办法让Excel显示出来? 例如,如果行7的单元格的值不在B31的最小值或最大值B32的范围内,则只应突出显示它们。 第18行应该由第42行pipe理。 我已经使用条件格式。 但是我想将相同的逻辑应用到所有的单元格和行,而不是一个接一个地做。

根据格式更改单元格的值

我有一个大的Excel文件,列表或课程沿着一边,然后在顶部的模块。 要指定模块是否在课程中,连接课程和模块的单元格将显示为绿色,但没有值。 我只需要所有的绿色单元有一个值。 条件格式似乎只能给我一个select,以将值更改为某种格式,而不是相反的方式。