我很难处理Excel上的VBA错误,有人能帮我理解这个错误意味着什么吗?
"VBA对象变量或带块变量的未设置错误“
我的函数应该检查工作表是否存在,如果没有创建新工作表,请重命名它并返回到主函数。代码可以工作,但是错误总是被抛出。
Function GetWorksheetFromName(Name As String) As Worksheet
Dim WS As Worksheet
For Each WS In ThisWorkbook.Worksheets
If StrComp(WS.Name, Name, vbTextCompare) = 0 T
我想要做的是,毫无例外地将所有工作表中的所有信息复制到vba创建的新工作簿中,并带有确切的工作表名称。*原因是过了一段时间,excel在保存文件时出现了错误。“文件没有保存”。所以我想把这些信息
Dim ws As Worksheet, wb As Workbook
Set wb =Workbooks.Add("NewOne.xlsb")
For each ws in ThisWorkbook.Worksheets
name = ThisWorkbook.Sheets.Name
ThisWorkbook.Sheets.Copy wb.Sheets.Add(Name:=name)
我正在尝试创建一个vba代码来检查两个工作表中的每个单元格是否相等。如果不是,请在上面创建一个空行,然后为这两个工作表移动。
我没有太多使用Vba的经验,所以我有点困惑。我希望你已经理解了我的问题,并从现在开始感谢我。
Private Sub compare_cells(ByVal Target As Range)
If Target Is Nothing Then Next
If Cells(Target.Row, 1).Value = 'another row ' Cells(Target.Row, 4).Value Then
Next
我正在编写一个宏,以便基于自动生成的报告在新工作表中创建日历。我已经编写了足够的宏来在新工作表中创建日历,并突出显示与报告对应的任何日期。现在我想在每个周末在一个单元格中写下所有突出显示的日期。如果没有vba,我将能够按"ALT + ENTER“。但是,我当前宏的运行方式只是用最接近末尾的突出显示的单元格重新填充单元格,而不是使用换行符。我认为我需要以某种方式整合chr(10),但我不确定如何整合。
任何帮助都将不胜感激。下面是我的当前循环:
'find dates in August
Dim augustRng As Range
Set augustRng = Sheets(
我在Excel工作簿中有两个字段:
1. MED - Range("J13:K13")
公式:=IF(D5=1,"X","")
2.非MED范围(“L13:M13”)
公式:=IF(D5=2,"X","")
当使用下面的代码时,这些字段总是显示为非空,从而保存了一个‘1’值:
'1. Med
If Not IsEmpty(range("J13:K13").value) Then
Worksheets("FeedSamples").range(&
假设我有以下示例表:
Country Year
USA 2010
USA 2010
USA 2010
Australia 2011
India 2010
China 2010
Output should be:
2010: 3 (USA, India, and China)
2011: 1 (Australia)
2012: 0 ()
我正在尝试统计某一年中独特的国家数量。
我在如何让嵌套的条件计数工作时遇到了麻烦。
任何帮助都将不胜感激。我不能使用VBA,我必须使用本地excel函数或数据透视表。
我刚开始使用Excel的VBA,遇到了一个我找不到解决方案的问题。我希望创建一个宏,该宏生成工作表的副本,并将副本重命名为单元格B8中指定的内容。现在,单元格B8包含如下所示的字符串和值(基于公式)。
细胞B8含量
如何使VBA使用名称(字符串和数字)作为新工作表的名称?
Sub NewFunction()
Dim counter As Integer
Sheets(1).Copy After:=Sheets(1)
ActiveSheet.name = Sheets(1).Range("B8").CStr
End Sub
提前感谢!
无论如何,对代码不起作用感到尴尬:
我的目标是通过切换按钮使用VBA创建一个特定的图表。如果选择/按下切换按钮,则创建图表并显示在活动工作表的特定部分上。如果取消选中切换按钮,则删除图表。
以下是我的工作表的样子:
下面是我从不同的博客中学习了一些VBA之后编写的代码,因为我目前无法访问VBA书籍。代码片段用于Google按钮,名为GoogleBtn,并在单击按钮时被调用。
Private Sub GoogleBtn_Click()
Dim mySheet As Workbook
Dim myChart As Chart
Set mySheet = ActiveWorkbook.
我已经创建了一个显示员工级别编号的Excel工作表。我还创建了一个基于相同数据的数据透视表。
我希望在数据透视表中将等级编号显示为文本:
-If value = 1 then "A" is displayed in the table
-If value = 2 then "B" is displayed in the table
-If value = 3 then "C" is displayed in the table
-If value = 4 then "D" is displayed in the table
-El