我正在尝试构建一个循环遍历一列单元格的宏,并用该国家/地区的名称替换该单元格中的双字母国家/地区代码.但是,当我尝试运行宏时,我得到一个找不到对象的错误.
Sub ChangeCountryText()
'
' ChangeCountryText Macro
' Changes country codes
'
For counter = 2 To 20
Set curCell = ActiveSheet.Cells(counter, 1)
Select Case curCell.Text
Case "JP"
curCell.Text = "Japan"
Case "FR"
curCell.Text = "France"
Case "IT"
curCell.Text = "Italy"
Case "US"
curCell.Text = "United States"
Case "NL"
curCell.Text = "Netherlands"
Case "CH"
curCell.Text = "Switzerland"
Case "CA"
curCell.Text = "Canada"
Case "CN"
curCell.Text = "China"
Case "IN"
curCell.Text = "India"
Case "SG"
curCell.Text = "Singapore"
End Select
Next …Run Code Online (Sandbox Code Playgroud) 我有一个Excel的VSTO外接程序,该外接程序用数据填充工作表中的列表对象,并且我希望表自动滚动以显示列表的底部(如果用户正在查看另一个表,则不必将焦点集中在该表上) )。有办法以编程方式执行此操作吗?
谢谢<333
我有这样的功能:
Function GetLastRowOnSheet(ByVal SheetName As Worksheet) As Long
On Error Resume Next
GetLastRowOnSheet = SheetName.Cells.Find(what:="*", after:=SheetName.Cells(1), searchorder:=xlByRows, searchdirection:=xlPrevious).Row
On Error GoTo 0
End Function
Run Code Online (Sandbox Code Playgroud)
假设我有一张名为"Sheet1"的工作表,在我的Excel工作表中,我希望能够说= GetLastRowOnSheet('Sheet1')或使用命名范围
我可以使用上面的函数以及包含以下函数的子例程或函数在vba中轻松完成此操作:
Dim Sheet1 As Worksheet
Dim LastRow as Long
Set Sheet1 = ThisWorkbook.Sheets("Sheet1")
LastRow = GetLastRowOnSheet(Sheet1)
' last row then returns the last filled in cell on the sheet
Run Code Online (Sandbox Code Playgroud)
思考?
我试图说服Excel从Delphi应用程序中插入行。
通常,我只是将新数据附加到电子表格的末尾,但是此应用程序的简介要紧跟模板设计。
这个问题的答案是GolezTrol建议以下代码的地方:
ExcelApplication.ActiveSheet.Rows[10].Insert;
Run Code Online (Sandbox Code Playgroud)
要么
ExcelApplication.ActiveSheet.ActiveCell.EntireRow.Insert;
Run Code Online (Sandbox Code Playgroud)
使用Excel2010,当我尝试编译任一选项时,都会得到“未声明的标识符'行'”或“未声明的标识符:ActiveCell”。
有什么建议可以让我这样做吗?
我在excel 2010中遇到了vlookup/index-match公式的问题.
我有一个表,其中包含名称列中的重复值.我在另一张表中有一张表,它引用了第一张表中的名称和金额.如果原始表中存在重复的名称,则应将该数量相加.
例如,请看下面的图片.ABC是一个重复的名称,它的数量应为零.当我查找名称ABC时,如何使用Vlookup/index-match公式在结果中显示"0"?
在目标表中,名称只出现一次,因此我不想在dest表中添加另一个ABC.
谢谢 !罗尼.
我担心我误解了VBA的excel文档,我有这条似乎是一个错误的行:
Range a = Selection.SpecialCells(xlCellTypeConstants, 23)
Run Code Online (Sandbox Code Playgroud)
但是这个很好:
Set a = Selection.SpecialCells(xlCellTypeConstants, 23)
Run Code Online (Sandbox Code Playgroud)
文件声称:
返回一个Range 对象,该对象表示与指定类型和值匹配的所有单元格.
但它实际上返回一个byRef对象,这就是我必须使用的原因Set.
我在这里想念什么?
这是Range.SpecialCellsExcel中的方法帮助:

请问您能帮我解决这个Excel函数,该函数应该对列和行中的所有值求和吗?
我有这些基本数据:
column 100 100 200 300 100 200 300 200 100
Row
A 1 2 5 10 1 3 7 10 12
D 2 3 6 11 2 4 8 11 13
B 5 4 1 5 4 2 4 5 4
E 4 5 8 13 4 6 10 13 15
A 4 3 0 4 3 1 3 4 3
F 5 4 1 5 4 2 4 5 4
D 1 7 5 1 12 2 …Run Code Online (Sandbox Code Playgroud) 我想这将testfile将与Apache POI API(当前版本3-10决赛).以下测试代码
import java.io.FileInputStream;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelTest {
public static void main(String[] args) throws Exception {
String filename = "testfile.xlsx";
XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream(filename));
XSSFSheet sheet = wb.getSheetAt(0);
System.out.println(sheet.getFirstRowNum());
}
}
Run Code Online (Sandbox Code Playgroud)
导致第一行数为-1(现有行返回为null).测试文件由Excel 2010创建(我无法控制该部分),可以使用Excel读取而不会出现警告或问题.如果我使用我的Excel版本(2013)打开并保存文件,它可以按预期完美地读取.
我无法阅读原始文件或我如何能够获得的任何提示都受到高度赞赏.
我有一个包含不同工作表的工作簿.
我有不同工作表的宏.
我有一个用于所有工作表的宏SOD,另一个用于工作表的DMNE宏,另一个用于工作表的宏SAS.我有一个用于使用跟踪的宏.
我的要求是当我点击工作表开始时SOD,我该如何运行与之相关的宏SOD.同样在所有床单中.

我想用英文格式命名我的excel表.我的系统设置是德语,我不能改变它.我需要用英文获得上个月的名字.我使用下面的代码和公式.
我也尝试使用一个单元格的自定义日期设置,并将单元格值分配给工作表名称.但没有任何工作.帮我
Sub name()
ActiveSheet.Name = Format(DateAdd("M", -1, Now), "MMMM")
End Sub
Choose(MONTH(TODAY())-1, "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")
=TEXT(DATE(YEAR(TODAY());MONTH(TODAY())-1;DAY(TODAY()));"MMMM")
Run Code Online (Sandbox Code Playgroud) excel-2010 ×10
excel ×7
excel-vba ×5
vba ×5
apache-poi ×1
c# ×1
delphi ×1
delphi-xe2 ×1
excel-2007 ×1
java ×1
sum ×1
vlookup ×1
vsto ×1
xssf ×1