标签: excel-2010

如何在VBA中将默认情况恢复为变量(Excel 2010)?

在某些时候,我不小心命名了一个变量range(所有小写),从那时起,Visual Basic for Applications编辑器拒绝使用Range(Pascal-cased); 它会自动纠正为小写.如何重置其"大脑"以忘记我过去的过犯?

注意:我尝试过全局替换 - 但是当我编辑任何一行时 - 它再次重新校正.

显然这是一个非常非常轻微的化妆品问题,但每次打字时看着R跛行都很Range烦人.

excel vba editor excel-2010

24
推荐指数
2
解决办法
5004
查看次数

在excel中,如何引用当前行但是特定列?

假设我有数据表

A  B  C  D
-----------
5  4  6  3
4  4  3  2
5  4  6  2
Run Code Online (Sandbox Code Playgroud)

我想做点什么

A  B  C  D  E                  F
----------------------------------------------
5  4  6  3  =AVERAGE(A1,C1)    =AVERAGE(B1,D1)
4  4  3  2  =AVERAGE(A2,C2)    =AVERAGE(B2,D2)
5  4  6  2  =AVERAGE(A3,C3)    =AVERAGE(B3,D3)
Run Code Online (Sandbox Code Playgroud)

所以基本上我想制作一个使用当前行但是特定列的公式来查找平均值.有没有办法做到这一点?特别是要将每列的整个自动化(假设所有列都是相同的高度)?

excel excel-formula excel-2010

24
推荐指数
2
解决办法
10万
查看次数

将整个工作表复制到Excel 2010中的新工作表

我发现类似的问题涉及在一个工作簿中复制整个工作表并将其粘贴到另一个工作簿,但我感兴趣的是简单地复制整个工作表并将其粘贴到新的工作表 - 在同一工作簿中.

我正在将2003 .xls文件转换为2010 .xlsm,并且用于在工作表之间复制和粘贴的旧方法不会粘贴正确的行高.我最初的解决方法是遍历每一行并从我正在复制的工作表中获取行高,然后循环并在我粘贴的工作表中插入行高的那些值,但这种方法的问题在于sheet包含生成新行的按钮,这些行更改行编号,并且工作表的格式使得所有行不能只是一个宽度.

我真正希望能够做的只是复制整个工作表并粘贴它.以下是2003版的代码:

ThisWorkbook.Worksheets("Master").Cells.Copy
newWorksheet.Paste
Run Code Online (Sandbox Code Playgroud)

我很惊讶转换为.xlsm导致现在破坏.任何建议或想法都会很棒.

excel vba excel-vba excel-2010

23
推荐指数
3
解决办法
30万
查看次数

使用卸载我关闭Userform不起作用

当用户单击提交按钮并执行操作时,我需要使用VBA关闭Excel用户窗体.

如何从自身关闭Userform?

我试过这个,但它返回361错误.

Unload Me
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba excel-2010

23
推荐指数
2
解决办法
21万
查看次数

Excel 2010:如何在验证列表中使用自动完成功能

我正在使用一个大型验证列表,其中有几个vlookup()函数依赖.这个清单越来越大了.有没有办法输入我正在寻找的列表项的第一个字母,而不是手动向下滚动列表搜索项目?

我已经完成了一些谷歌搜索,但这表明这在早期版本的Excel中确实是可能的,但在Excel 2010中确实不可能.希望你们能提供帮助.

excel vba excel-vba excel-2010

19
推荐指数
1
解决办法
14万
查看次数

在Excel 2010中使用VBA代码调用Web服务

我试图在Excel 2010中编写一些使用Web服务的VBA代码.我无法在互联网上找到任何相关资源.有人可以告诉我如何做到这一点.

excel vba web-services office-2010 excel-2010

18
推荐指数
2
解决办法
9万
查看次数

Excel错误1004"无法获取WorksheetFunction类的属性"出现不一致

我在电子表格中有一个VBA功能,它在另一个在我的宏的早期阶段打开的电子表格上运行.宏用于工作正常,但最近刚开始导致1004错误("无法获取WorksheetFunction类的RoundDown属性")运行时.

我相信我理解错误是由(运行RoundDown的问题)引起的,但是我不明白为什么它会在我的宏中被触发而奇怪的部分是当我进入调试模式并逐步执行VBE中的代码时错误不再发生(尽管没有明显改变).

有没有人有类似的错误发生这种错误的经验,知道我可以做些什么来解决它?

我是合理的VBA/Excel精明,但任何关于进一步诊断它的步骤的建议将不胜感激.我想知道打开的电子表格是否存在一些问题尚未准备好但我看不清楚如何.

代码在这里.错误发生在标有注释的行上.

Public Function GetDatesA(sWorkbookname As String, sSheetname As String, sCell As String) As Variant

    Dim vDateList() As Variant
    Dim currentCell As Range
    Dim n As Long

    Set currentCell = Workbooks(sWorkbookname).Worksheets(sSheetname).Range(sCell)

    n = 0

    Do
        If Trim(currentCell.Value) = "" Then
            Exit Do
        Else
            ReDim Preserve vDateList(0 To 1, 0 To n)
            vDateList(0, n) = WorksheetFunction.RoundDown(currentCell.Value, 0) 'error occcurs on this line
            vDateList(1, n) = currentCell.Column
            'Debug.Print currentCell.Value
        End If
        Set currentCell = currentCell.Offset(0, …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba excel-2010

18
推荐指数
1
解决办法
8万
查看次数

如何使用excel公式在列中获取唯一值

我有如下的Excel数据

       JID     Val

       1001    22
       1030    6
       1031    14          
       1041    8
       1001    3
       2344    8
       1030    8
       2344    6
       1041    8
Run Code Online (Sandbox Code Playgroud)

如何使用公式获得如下所示的唯一JID值?

UJID   

1001
1030
1031
1041    
2344
Run Code Online (Sandbox Code Playgroud)

excel-formula excel-2010

18
推荐指数
3
解决办法
4万
查看次数

使用VBA获取文件夹中的Excel文件列表

我需要获取文件夹中所有Excel文件的名称,然后对每个文件进行更改.我已经解决了"改变"部分.有没有办法.xlsx在一个文件夹中获取文件列表,D:\Personal并将其存储在字符串数组中.

然后我需要遍历文件列表并在我认为可以使用的每个文件上运行一个宏:

Filepath = "D:\Personal\"
For Each i in FileArray
    Workbooks.Open(Filepath+i)
Next
Run Code Online (Sandbox Code Playgroud)

我一看这个,但是,我没能打开这些文件的原因,而是存储在名称Variant格式.

简而言之,我如何使用VBA获取特定文件夹中的Excel文件名列表?

excel vba excel-vba excel-2010

18
推荐指数
3
解决办法
16万
查看次数

在PIVOT TABLE中更改GROUPED日期的日期格式

我在Excel 2010工作

假设您的原始数据中有合法的日期字段,日期为2015年1月1日.然后,在行标签中创建一个带有日期字段的数据透视表.

现在假设您希望按月显示结果,因此右键单击"组字段"并选择按月分组.

现在,您的数据以Mmm格式显示数月.你会如何改变它的Mmmm格式?或者如果你想将它显示为数字(即Jan显示为1)该怎么办

对于有时间戳的日期和按日分组的日期怎么样?数据透视表将日期显示为D-Mmm.如果我想要MM/DD/YYYY怎么办?

是的,我已经尝试通过右键单击 - >字段设置 - >数字格式来更改它.它没用.

excel pivot-table excel-2010

18
推荐指数
3
解决办法
6万
查看次数