Tag: excel

基于search键VBA删除行

我试图删除使用VBA在列B中find值“X”的每一行。 不过,我有三个问题: 我不能让我的VBA代码使用cells.find方法从活动单元格下移到下一个单元格(B3)(请参阅下面的代码) 我的代码不会删除列B中find值“X”的整个行 B列中的数据量可能有所不同:可以在今天B10或明天B100结束(见下面的屏幕截图) 任何援助将不胜感激。 Sub RemoveRows() Dim strLookFor As String Dim strRow As String Worksheets("Sheet1").Range("B2").Activate strLookFor = "X" strRow = Range("B2").Address Do Until ActiveCell.Value = "" MsgBox (ActiveCell.Value) If ActiveCell.Value = strLookFor Then Rows.Delete (strRow) End If strRow = Cells.Find(what:=strLookFor).Address Loop MsgBox ("Deleted all rows with value " & strLookFor) End Sub

如果值匹配,将单元格数据连接成另一个数据

我在同一张Excel表中有两columns A and B 我想,如果在Column B两个值匹配,那么它应该复制相关的值在同一行中的值。 例如 表 Column A Column B xyz 1 abc 1 pqr 1 eee 2 qqq 3 www 4 oop 5 Desierd输出 column A Column B xyz,abc,pqr 1 eee 2 qqq 3 www 4 oop 5

无法将“microsoft.Office.Interop.Excel.ApplicationClass”types的COM对象转换为“microsoft.Office.Interop.Excel.Application”

这是我第一次尝试从一个C#控制台应用程序中从Excel中捕获一些数据。 我得到错误“无法将types为”microsoft.Office.Interop.Excel.ApplicationClass“的COM对象转换为”microsoft.Office.Interop.Excel.Application“。 这段代码使用了“Microsoft Excel 12.0 Object Library”,并且引用了Microsoft.Office.Interop.Excel。 不过,我无法克服这个错误 – 我相信它有自己的快速解决scheme。 我挖了一点这个网站,并遇到了这个解决scheme: Interoptypes不能embedded 但是,我不明白,所以不能执行build议的解决scheme。 我的.Net版本是4.5。 任何帮助非常感谢。 提前致谢。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using Excel = Microsoft.Office.Interop.Excel; namespace deneme { class Program { static void Main(string[] args) { Excel.Application xlApp = new Excel.Application(); xlApp.Visible = true; // <– […]

我可以使这个macros更有效率或更快?

我是全新的编码。 这个macros运行缓慢,我希望有人能帮我清理它。 在此先感谢您的帮助。 我开发了代码来更新我公司的“呼叫路由器”工作表,其中包含从外部购买的新线索。 这些线索以原始格式在我们的工作表中被称为Fresh Agents Leads。 一旦“新鲜代理信息”表复制到“呼叫路由器”工作表中的“MSS呼叫路由主列表”文件中,macros将减less原始数据,从而消除我们不使用的部分。 然后,重新格式化与旧呼叫路由器工作表的格式相匹配的内容,并将两者合并。 然后将新的主表重命名为呼叫路由器。 该代码旨在从容纳新鲜代理信息表的工作簿开始。 指示用户在执行代码之前在桌面上同时打开新鲜代理线索文件和MSS呼叫路由主列表。 Sheets("Fresh Agent Leads").Select Sheets("Fresh Agent Leads").Copy After:=Workbooks( _ "MSS Call Routing Master List.xlsx").Sheets(1) Columns("F:F").Select Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove Range("A1").Select Selection.Copy Columns("F:F").Select ActiveSheet.Paste Columns("A:A").Select Application.CutCopyMode = False Selection.Delete Shift:=xlToLeft Columns("C:C").Select Selection.Delete Shift:=xlToLeft Columns("E:E").Select Selection.Delete Shift:=xlToLeft Selection.Delete Shift:=xlToLeft Columns("G:S").Select Selection.Delete Shift:=xlToLeft Rows("1:1").Select Selection.Delete Shift:=xlUp Columns("C:C").Select Selection.Insert […]

将整个范围转换为大写,而不循环遍历所有单元格

现在我正在使用下面的代码将小写字母列表从小写字母转换为大写字母: Dim Tickers As String Dim n As Integer For n = 2 To Last Tickers = UCase(W.Cells(n, 1).Value) W.Cells(n, 1).Value = Tickers Next n 有没有一种方法可以将整个范围转换成一行? 就像是: Range("A1:A20").convertouppercasesomehow

在具有多列的列表框中添加项目

我怎样才能添加2 columns ? 如果我使用ListBox.AddItem它会添加第一列中的项目。 我也想在2nd column添加项目。 谢谢!

在Excel VBA中删除一行

我有这段代码,它从列表中find一个项目的excel行并删除列表中的项目。 我想要的是删除Excel行。 代码在这里 Private Sub imperecheaza_Click() Dim ws As Worksheet Dim Rand As Long Set ws = Worksheets("BD_IR") Rand = 3 Do While ws.Cells(Rand, 4).Value <> "" And Rand < 65000 If ws.Cells(Rand, 4).Value = gksluri.Value * 1 And ws.Cells(Rand, 5).Value = gksluri.List(gksluri.ListIndex, 1) * 1 Then ws.Range(Rand, 1).EntireRow.Delete '(here I want to delete the […]

如何确定VBA中使用的最后一行,包括两者之间的空格

我如何确定Excel工作表中的最后一行,包括中间的一些空行? 有了这个function: Function ultimaFilaBlanco(col As String) As Long Dim lastRow As Long With ActiveSheet lastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, col).End(xlUp).row End With ultimaFilaBlanco = lastRow End Function 而这个数据: Row 1 : Value Row 2 : Value Row 3 : Value Row 4 : Value Row 5 : Value Row 6 : White Row 7 : Value Row […]

在C#中将文本格式化为Excel列(或单元格)?

当我将数据表中的值复制到Excel工作表时,我正在丢失前导零。 这是因为Excel可能将数值视为数字而不是文本。 我在C#中创build了工作表,我正在复制这样的值: myWorksheet.Cells[i + 2, j] = dtCustomers.Rows[i][j – 1].ToString(); 如何将整列或每个单元格格式化为文本? 一个相关的问题,如何投射myWorksheet.Cells[i + 2, j]在Intellisense中显示样式属性?

在Excel中的列中计算唯一值

我有一个包含一些数据的列的.xls文件。 我如何计算包含此列的唯一值的数量? 我search了很多选项,但是他们给出的公式总是给我错误。 例如, =INDEX(List, MATCH(MIN(IF(COUNTIF($B$1:B1, List)=0, 1, MAX((COUNTIF(List, "<"&List)+1)*2))*(COUNTIF(List, "<"&List)+1)), COUNTIF(List, "<"&List)+1, 0)) 回报