当我尝试创建Excel 2007工作簿项目时,在Visual Studio 2008中,我得到以下错误消息:
无法创建项目,因为"Excel Visual Studio设计时适配器加载项"无法正常工作.Excel可能已禁用加载项或使其处于非活动状态,或者可能在信任中心设置中禁用所有加载项.在Excel选项中检查加载项状态.如果加载项处于活动状态并已启用,请重新安装或修复Visual Studio Tools for Office.
我已经验证加载项未处于非活动状态或已禁用,我已尝试多次修复和卸载/重新安装VSTO.
该怎么办?
刚刚发布了我今天制定的解决方案。请参阅下面的答案。
如果您没有非常有用的OpenXML SDK v2.0工具,则可以在以下网址找到它:http://www.microsoft.com/downloads/details.aspx? FamilyID=C6E744E5-36E9-45F5-8D8C-331DF206E0D0&displaylang=en
如果您知道我用“我不知道...”注释的行的目的,请留下评论以解释它们。
如何删除Excel中另一个单元格中一个单元格的列中的特定单词.
示例:if
*1603 Ad street New York*,*New York**1603 Ad street*我正在使用C#和OleDb从excel 2007文件中读取数据.
我正在使用的连接字符串是:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1";
Run Code Online (Sandbox Code Playgroud)
以下是读取excel的代码:
private OleDbConnection con = null;
private OleDbCommand cmd = null;
private OleDbDataReader dr = null;
private OleDbDataAdapter adap = null;
private DataTable dt = null;
private DataSet ds = null;
private string query;
private string conStr;
public MainWindow()
{
this.InitializeComponent();
this.query = "SELECT * FROM [Sheet1$]";
this.conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\301591\\Desktop\\Fame.xlsx;Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1;TypeGuessRows=0;ImportMixedTypes=Text\"";
}
private void btnImport_Click(object sender, RoutedEventArgs e)
{
this.ImportingDataSetWay();
}
private void ImportingDataSetWay()
{
con = new OleDbConnection(conStr); …Run Code Online (Sandbox Code Playgroud) 我试图在宏公式中使用变量来避免选择单元格,但是我不断收到错误.
这是我试图做的简化:
Dim myRange as Range
Dim formulaCell as Range
Set myRange = [a1:a10]
formulaCell.Formula = "=sum(myRange)"
Run Code Online (Sandbox Code Playgroud)
但是我一直得到:
"application-defined or object defined error"
Run Code Online (Sandbox Code Playgroud)
我尝试过使用:
formulaCell.Formula = "=sum(" & myRange & ")"
Run Code Online (Sandbox Code Playgroud)
但后来我得到:
Type mismatch
Run Code Online (Sandbox Code Playgroud)
还尝试过:
formulaCell.Formula = "=sum(" & Range(myRange) & ")"
Run Code Online (Sandbox Code Playgroud)
无济于事
我确定答案是非常基本的,但无法弄清楚我做错了什么.任何和所有的帮助将不胜感激.
所以我有一个宏,旨在为工作表的打印区域中的每个分页符插入4个标题行.当我在调试模式中逐步运行它时,它会为每个分页插入正确的标题行,但是当它单独运行时,它似乎正在跳过部分.我已经添加了Sleeps和Debug.Prints,以便找出它出错的地方,但我仍然无法弄明白.
这是代码:
Sub InsertRowPageBreak()
Dim WS As Worksheet
Dim rng As Range
Dim pb As Variant
Dim Row As Integer
Dim OffSet As Integer
Dim InsertRow As Integer
Set WS = ThisWorkbook.Worksheets(1)
WS.Activate
Rows("1:1").Select
Selection.Delete Shift:=xlUp
Dim i As Integer
i = 1
For Each pb In WS.HPageBreaks
Debug.Print "Iteration: " & i
i = i + 1
Row = pb.Location.Row
Range("A" & Row).Select
Debug.Print "Page Break at Row: " & Row
If (Range("A" & Row - 2).Value Like "*Date*") …Run Code Online (Sandbox Code Playgroud) 我正在使用excel 2007并创建了一个包含三个vlookup()语句的UDF.该函数应该返回所有三个vlookup语句的总和.在大多数情况下,只有两个vlookup()语句将返回一个有效值,第三个语句将导致NA,因为查找值不包含在查找范围内.
我试图捕获错误并使用以下命令返回零:
Application.WorksheetFunction.iferror(vlookup(...),0)
使用If iserror(vlookup())然后的条件...
但我似乎无法获得任何一种工作方法.如果我注释掉我知道正在创建错误的vlookup,一切都按预期工作.
有谁知道为什么iserror(0和iserror()似乎没有工作或者可能是一种可行的替代方法.
更新:
这是三个vlookup函数:
product2 = Application.WorksheetFunction.IfError(Application.WorksheetFunction.VLookup(productA, lookuprng, offset, False), 0)
product3 = Application.WorksheetFunction.IfError(Application.WorksheetFunction.VLookup(productB, lookuprng, offset, False), 0)
product4 = Application.WorksheetFunction.IfError(Application.WorksheetFunction.VLookup(productC, lookuprng, offset, False), 0)
Run Code Online (Sandbox Code Playgroud) 如果关联值在用作过滤条件的值范围内,我试图返回一系列单元格的总和.例如,使用以下数据表:
Keys Values
A 500
B 300
C 600
D 20
A 150
C 600
Run Code Online (Sandbox Code Playgroud)
以及要汇总的以下键列表:
Sum Keys:
A
D
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种公式化的方式来回归500 + 20 + 150 = 670.
我知道你可以使用多个SUMIF,但是键的数量会根据用户想要过滤的内容而改变,并且编写足够的SUMIF来覆盖最大的现实情况(如10ish)似乎过多,我觉得必须有一个更方便.
在我看来,公式看起来像这样:
=SUMIFS(Values, Keys, OR(Sum Keys), ...(optional other conditions))
Run Code Online (Sandbox Code Playgroud)
我意识到这是一个简单的VBA问题,但我试图避免这种情况,因为电子表格将由具有不同(或没有)VBA知识的人员进行审核.此外,向数据添加指示符列以显示密钥是否在Sum Keys范围内是不现实的,因为将有多个标签汇总数据,每个标签都有自己的过滤器Key
任何帮助都表示赞赏,但我意识到如果没有VBA,这可能是不可能的.如果需要更多信息,请告诉我.
谢谢!
编辑:谢谢巴里houdini的答案!根据可接受标准的多个范围,查看他的帖子中关于求和的一般解决方案的评论.
我想使用excel vba获取树视图.我有很多String喜欢这个
/folderOne/fileOne
/folderTwo/fileThree
/folderOne/fileTwo
/folderThree/fileFour
/folderTwo/subFolderTwo
/folderThree/subFolderThree/fileFive
Run Code Online (Sandbox Code Playgroud)
我想用vba在excel表中制作树形图.我的要求是
folderOne
L fileOne
L fileTwo
folderTwo
L fileThree
folderThree
L fileFour
subFolderThree
L fileFive
Run Code Online (Sandbox Code Playgroud)
那么我应该如何定义呢?请与我分享一些想法或链接.我对vba很新.
如何将excel-2007与mysql连接起来.我在Windows 7,64位.使用excel-2007 32位和mysql 5.1版,32位.任何人都可以帮我如何在excel文件中导入我的mysql表数据.提前致谢.
excel-2007 ×10
excel ×7
excel-vba ×5
vba ×5
c# ×3
mysql ×1
oledb ×1
openxml-sdk ×1
vsto ×1
wpf ×1