我有一个符号和匹配的十六进制颜色的电子表格.我想用单元格内的十六进制颜色填充单元格本身(或旁边的单元格).我已经阅读了一些关于"条件格式化"的内容,我认为这是做到这一点的方法.
我怎么能达到我想要的结果?
第一次海报,所以如果有任何格式或指导我没有遵守,请告诉我,以便我可以解决它.
所以我基本上要求用户提供excel文件的文件目录,然后设置一些变量(最初设置为public作为项目变量,因为这些变量在其他地方被使用和更改).我还添加了行来将这些变量设置为空(以防万一,我不认为它应该重要).然后我将这些变量设置为我想要访问的excel文件,工作簿和工作表.
Dim filepath as String
filePath = CStr(fileDialog) 'ask file dir, set to string
Dim sourceXL As Variant 'these three were orig project variables
Dim sourceBook As Variant
Dim sourceSheet As Variant
Dim sourceSheetSum As Variant
Set sourceXL = Nothing 'set to nothing in case...?
Set sourceBook = Nothing
Set sourceSheet = Nothing
Set sourceSheetSum = Nothing
Set sourceXL = Excel.Application 'set to the paths needed
Set sourceBook = sourceXL.Workbooks.Open(filePath)
Set sourceSheet = sourceBook.Sheets("Measurements")
Set sourceSheetSum = sourceBook.Sheets("Analysis Summary") …Run Code Online (Sandbox Code Playgroud) 我有一个Excel 2010电子表格,其中包含3个名为Sheet1,Sheet2和Sheet3的工作表.
我正在尝试按名称获取对工作表的引用.
我正在使用代码:
using (SpreadsheetDocument myWorkbook = SpreadsheetDocument.Open(FileName, true))
{
//Access the main Workbook part, which contains all references
WorkbookPart workbookPart = myWorkbook.WorkbookPart;
WorksheetPart worksheetPart = workbookPart.WorksheetParts.Last();
// this gives me Sheet1
SheetData sheetData = worksheetPart.Worksheet.GetFirstChild<SheetData>();
}
Run Code Online (Sandbox Code Playgroud)
我试图获得Sheet2的引用,但我找不到这样做的方法.
我越走越近了,但我还没到那里:
var x = workbookPart.Workbook.Sheets.Where(s=> s.GetAttribute("name", "").Value == "Sheet2").FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
这让我得到了工作表的参考,但没有给工作表上的数据
谢谢
我正在为excel开发一个需要很长时间才能运行的应用程序,所以最好弹出一个进度条并给出一些进度指示.我Statusbar在Excel 中查看该属性,它似乎涵盖了我需要的东西,除了它不是很明显,即它是左下角的一个小小的通知,我没想到我不会注意到我发现它非常不令人满意.
有没有办法让状态栏弹出一个新的MsgBox样式窗口,类似于您在Windows上进行文件传输时的预期?实际显示在excel表中的进度条类型对象(如此示例中)并不理想,我正在寻找更好的解决方案.
我在Windows上使用Office 2010.
从Excel 2010开始,我在Excel中使用了很多表.例如,我有一个表"tabWorkers"有3列:"ID","名字","姓氏".
我已经发现我可以使用[]来引用VBA中的表.例如:
Dim row As Range
For Each row In [tabWorkers].Rows
MsgBox (row.Columns(2).Value)
Next
Run Code Online (Sandbox Code Playgroud)
这将为我提供每行有效的名字..但我希望通过使用它的列名来使其更具动态:
Dim row As Range
For Each row In [tabWorkers].Rows
MsgBox (row.Columns("Firstname").Value)
Next
Run Code Online (Sandbox Code Playgroud)
当然,我可以进行某种查找,将列索引'2'绑定到类似FirstnameIndex的var,但我想要正确的语法.我确信它是可能的但是没有真正记录(比如[tabWorkers] .Rows)
我使用这个方便的方程式来搜索excel中单元格内的术语.
=IF(ISNUMBER(SEARCH("*Gingrich*",C1)),"1","")
Run Code Online (Sandbox Code Playgroud)
此等式在C1中搜索Gingrich的存在,如果存在,则显示1.
我想要做的就是一次搜索多个术语.任何人都知道如何添加OR函数,所以我可以搜索Gingrich或奥巴马或罗姆尼等...?
在列AI中,有一个名称加载,如下所示
[约翰·史密斯]
我仍然希望他们在A但[]删除...
我在excel 2010中有一个vba函数,我是在这里使用人们的帮助构建的.此函数复制表/表单的内容,对其进行排序,并将它们发送到适当的表.
现在运行此函数后,我希望清除原始表.我可以使用以下代码实现此目的,假设ACell已被定义为表中的第一个单元格.
ACell.ListObject.Range.ClearContents工作正常,唯一的问题是它删除表以及数据值.
有没有办法解决?每次输入一些数据时,我宁愿不必设置表格.
我想打开指定文件夹中的所有文件并具有以下代码
Sub OpenFiles()
Dim MyFolder As String
Dim MyFile As String
MyFolder = "\\ILAFILESERVER\Public\Documents\Renewable Energy\FiTs\1 Planning
Department\Marks Tracker\Quality Control Reports"
MyFile = Dir(MyFolder & "\*.xlsx")
Do While MyFile <> ""
Workbooks.Open Filename:=MyFolder & "\" & MyFile
Loop
End Sub
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是它只是不断尝试重复打开文件夹中的第一个文件而不会继续前进.任何人都可以提供帮助,我在VBA有点新手,可以帮助我.我正在尝试打开大约30个全部采用.xlsx格式的报告.提前谢谢了.
excel-2010 ×10
excel ×8
excel-vba ×7
vba ×7
c# ×1
cell ×1
character ×1
excel-2007 ×1
excel-2013 ×1
openxml ×1
openxml-sdk ×1
statusbar ×1
vb.net ×1