标签: excel-2010

Excel VBA循环遍历单元格并替换它们的值

我正在尝试构建一个循环遍历一列单元格的宏,并用该国家/地区的名称替换该单元格中的双字母国家/地区代码.但是,当我尝试运行宏时,我得到一个找不到对象的错误.

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 vba excel-vba excel-2010

1
推荐指数
1
解决办法
4443
查看次数

如何使Excel工作表以编程方式滚动到行

我有一个Excel的VSTO外接程序,该外接程序用数据填充工作表中的列表对象,并且我希望表自动滚动以显示列表的底部(如果用户正在查看另一个表,则不必将焦点集中在该表上) )。有办法以编程方式执行此操作吗?

谢谢<333

c# vsto excel-2010

1
推荐指数
1
解决办法
4865
查看次数

自定义函数使用工作表名称作为参数

我有这样的功能:

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)

思考?

vba excel-2007 excel-vba excel-formula excel-2010

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

将行插入Excel

我试图说服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”。

有什么建议可以让我这样做吗?

delphi excel-2010 delphi-xe2

1
推荐指数
1
解决办法
4962
查看次数

在VLOOKUP/INDEX-MATCH excel函数中总结类似的值

我在excel 2010中遇到了vlookup/index-match公式的问题.

我有一个表,其中包含名称列中的重复值.我在另一张表中有一张表,它引用了第一张表中的名称和金额.如果原始表中存在重复的名称,则应将该数量相加.

例如,请看下面的图片.ABC是一个重复的名称,它的数量应为零.当我查找名称ABC时,如何使用Vlookup/index-match公式在结果中显示"0"?

在目标表中,名称只出现一次,因此我不想在dest表中添加另一个ABC.

问题的例子 谢谢 !罗尼.

excel excel-formula vlookup excel-2010

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

当一个人应该使用Set [例如对于SpecialCells的返回值]?

我担心我误解了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 vba excel-vba excel-2010

1
推荐指数
1
解决办法
4118
查看次数

每行值的求和函数,它们位于具有相同名称的多个列中

请问您能帮我解决这个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)

excel sum excel-2010

1
推荐指数
1
解决办法
381
查看次数

无法使用Apache POI读取Excel 2010文件.第一行数是-1

我想这将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)打开并保存文件,它可以按预期完美地读取.

我无法阅读原始文件或我如何能够获得的任何提示都受到高度赞赏.

java excel apache-poi excel-2010 xssf

1
推荐指数
1
解决办法
3406
查看次数

如何在选定的工作表上运行不同的VBA宏

我有一个包含不同工作表的工作簿.

我有不同工作表的宏.

我有一个用于所有工作表的宏SOD,另一个用于工作表的DMNE宏,另一个用于工作表的宏SAS.我有一个用于使用跟踪的宏.

我的要求是当我点击工作表开始时SOD,我该如何运行与之相关的宏SOD.同样在所有床单中.

工作表

excel vba excel-vba excel-2010

1
推荐指数
1
解决办法
615
查看次数

如何用英语命名excel表

我想用英文格式命名我的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 vba excel-vba excel-formula excel-2010

1
推荐指数
1
解决办法
79
查看次数