Tag: 单元格

date和时间之间的差异w / out工作周Excel

我正在试图确定一个程序需要花费的时间。 我有开始date和开始时间以及结束date和结束时间。 我需要做的是以小时显示结果:分钟:秒但是我需要使用7天的工作周,而不是5天的工作周。 以下是一个示例数据点: 单元格A1和C1都被格式化为短date。 单元格B1和D1被格式化为次。 E1中的公式是=((C1 + D1) – (A1 + B1)),E1被格式化为自定义数字[h]:mm:ss。 我遇到的问题是通过一个周末来计算。 时间只是不加起来,我认为这是由于Excel使用的工作周types。 任何帮助表示赞赏,谢谢!

VBAmacrosExcel:如何从Excel单元格中读取Unicode字符

我正努力从VBA Excel中的单元格读取Unicode字符。 Sub mySub() Cells(1, "A").Value = ChrW(10003) ' Writes checkbox symbol to A1 MsgBox Asc(Cells(1, "A").Value) ' Output: 63 (questionmark symbol) ' Expected Output: 10003 End Sub 如果checkbox符号被用户修改,我需要阅读Unicode字符才能看到。 我不知道如何比较Unicode字符与单元格值..

VBA – 根据条件改变单元格的值

似乎是一个足够简单的问题,但我在这里找不到答案。 我已经使用了StackOverflow sooo,最后决定自己问一个问题,我确定有人知道答案! 情况:我有一列值与唯一的文件名,如果他们被处理或不。 例如:“20160810_123_a.xml已处理”或“20160810_123_b.xml失败”文件名的长度发生变化,因此不是静态的。 我在不同的报告中使用这些值,只取决于“已处理”或“失败”的值,具体取决于原始内容中的内容。 我猜我需要某种If循环,它会做这样的事情:在范围I:I,如果单元格的值包含“已处理”,用“已处理”replace整个单元格。 如果单元格的值包含“失败”,请将整个单元格replace为“失败”。 提前致谢!

设定使用范围偏移的范围

我想build立一个工作范围。 我能够返回最后使用的单元格的行和列索引,但是如何将其包含在命名的范围内? numRows = sht.Cells(Rows.Count, 2).End(xlUp).Row numColumns = sht.Cells(1, Columns.Count).End(xlToLeft).Column Set endRange = sht.Cells(numRows, numColumns) Set workRange = sht.Range("B1", Cells(numRows, numColumns)?

Excel VBA – 引用公式写入的单元格

我有一个自定义VBA代码,我试图编码这个简单的问题,但我找不到任何解决scheme,它是要逼我疯了。 我需要有一个公式: 如果当前行为5或更低OR,则获取同一列中两行的单元格的值 如果当前行为6或更大,则获取顶部相邻单元格的值 用简单的英文,如果公式写在单元格E5中; 它应该得到E3的价值。 如果公式写入单元格E6,那么它应该得到E5的值。 然后,我将使用该值作为其他公式的input,或根据情况将其用作结果。 其实我可以用下面的工作表公式来达到我想要的: IF(ROW()>5; INDIRECT(ADDRESS(ROW()-1; COLUMN())); INDIRECT(ADDRESS(ROW()-2; COLUMN()))) 如果这是单独使用的,那么可以,但是这将成为更大的嵌套IF块的一部分。 如果你有兴趣,工作表的公式看起来有点像这样: =IF(LEFT($C5;2) = "RT"; IF(ROW()>5; INDIRECT(ADDRESS(ROW()-1;COLUMN())); INDIRECT(ADDRESS(ROW()-2; COLUMN())))-$F5; IF(LEFT($C5;2)="DP"; IF(ROW()>5; INDIRECT(ADDRESS(ROW()-1;COLUMN())); INDIRECT(ADDRESS(ROW()-2; COLUMN())))+$F5; IF(VE($E5=P$4; LEFT($C5;2)="FR"); IF(ROW()>5; INDIRECT(ADDRESS(ROW()-1; COLUMN())); INDIRECT(ADDRESS(ROW()-2; COLUMN())))-$F5; IF(VE($E5=P$4; LEFT($C5; 2)="RV"); IF(ROW()>5; INDIRECT(ADDRESS(ROW()-1; COLUMN())); INDIRECT(ADDRESS(ROW()-2; COLUMN())))+$F5; IF(ROW()>5; INDIRECT(ADDRESS(ROW()-1; COLUMN())); INDIRECT(ADDRESS(ROW()-2; COLUMN()))))))) 正如你所看到的,我正在寻找一个完整的维修噩梦。 即使看一看,也让我头晕目眩。 所以,我决定把提到的位移到一个VBA公式上,我认为可以这样写: Function GETTOP() If (ActiveCell.Row […]

如何获得单元格内容,包括单元格内的换行符?

我试图得到一个单元格的string值是有一个换行符,使用“.Value”函数。 参考下面的单元格B6和B7: 语法我正在使用: Dim foo as String foo = Range("B6").Value B6和B7都返回一个单独的string,例如“Dear Anon,Kindly grant …”,而我需要包含换行符的实际值。 有一个简单的方法来完成我所需要的吗? 提前致谢! 编辑: 实际上,我将这些string构build成html内容,以便通过电子邮件发送。 有了这个,我猜我会需要检查单元格是否有换行符,并用html标签replace每个换行符 – 而不实际replace单元格内容。 例如,我需要从单元格B6取得的值转换成如下forms: <br>"Dear Anon,< br >< br >Kindly grant the corre….." 希望你能帮助..

Excel公式显示链接的单元ID

在一个excel单元格中,我已经放置了一个简单的公式 =C4 单元格通常显示单元格的值 ,但是我想看到链接的单元格ID ,在这种情况下是“C4”。 有没有一个公式来显示我呢? 喜欢: =SHOWCELL(C4) 我需要这个的原因,而不是简单地在单元格中input“C4”的值,所以即使行被插入/删除,Excel也将保持链接到正确的单元格,并显示哪个单元格被链接。

Infragistics – 设置Excel单元格Backgroundcolor

我需要使用C#应用程序对某些Excel单元格着色。 接下来的“必备”是:我必须用infragistics的参考做到这一点。 我能够画一些细胞: worksheet.Rows[row].Cells[col].CellFormat.FillPatternBackgroundColor = Color.DarkSeaGreen; 但有一个灰色的图案,使细胞的阅读真的很难。 有什么解决scheme,我可以采取这些灰色模式呢? 我找不到任何backgroundcolor属性,除了这个FillPatternBackgroundColor … Greez Arion

Excel根据另一个表中的列表内容清除单元格

我有一个从A1到T1的千行和20列的Excel表Sheet1。 该范围内的每个单元格都有一些数据,通常是一个或两个单词。 在Sheet2中,A1列中有1000个值的数据列表。 我正在使用VBA脚本从Sheet1中的Sheet2列表中查找单词,并清除find的单元格的值。 我现在有一个VBA脚本只能在Sheet1的A1列上工作,并且只删除行。 这是脚本: Sub DeleteEmails() Dim rList As Range Dim rCrit As Range With Worksheets("Sheet1") .Range("A1").Insert shift:=xlDown: .Range("A1").Value = "Temp Header" Set rList = .Range("A1", .Cells(Rows.Count, 1).End(xlUp)) End With With Worksheets("Sheet2") .Range("A1").Insert shift:=xlDown: .Range("A1").Value = "Temp Header" Set rCrit = .Range("A1", .Cells(Rows.Count, 1).End(xlUp)) End With rList.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=rCrit, Unique:=False rList.Offset(1).SpecialCells(xlCellTypeVisible).Delete shift:=xlUp Worksheets("Sheet1").ShowAllData […]

Excel加载焦点不会返回到活动工作表

我已经在c#中开发了一个excel插件(VSTO),并在其中有一个树视图的任务窗格。 当我点击树形视图时,它会加载一些数据到excel工作表。 但加载后,焦点仍然留在树视图上,所以我不能直接在单元格中input,而无需点击表单。 只要单击树形视图填充图纸,我就需要将焦点放在激活的工作表上。 我尝试了下面的方法,但没有运气 ActiveSheet.Select() ActiveSheet.Activate() 而我也尝试设置范围。 另一件事是当我添加一个断点到ActiveSheet.Activate()它击中断点后,但没有它仍然保持焦点在任务窗格上工作。