标签: listobject

Excel VBA ListRows.Add 失败

我可能错过了一些简单的东西,但 ListRows.Add 让我感到悲伤。这是函数:

Sub addEmployee(employeeName As String, tableToAddTo As ListObject)
   Dim newRow As ListRow

   Set newRow = tableToAddTo.ListRows.Add()
   newRow.Range.Cells(1, 1).Value = employeeName
   tableToAddTo.Sort.Apply
End Sub
Run Code Online (Sandbox Code Playgroud)

在大多数情况下,这工作得很好。但是,每当该函数在我的工作表中的某个表上运行时,调用 ListRows.Add 之后的行就永远不会执行(至少调试器是这样指示的),并且该行不会添加到表中。有什么想法/想法吗?

更新:

这是我自发帖以来学到的东西。如果我向 Sub 提供存根数据,它就可以正常工作。例如:

Sub driver() 
    Dim myTable As ListObject 
    Set myTable = getTableObject("myTableName") 
    Call addEmployee("myName", myTable)
End Sub
Run Code Online (Sandbox Code Playgroud)

注意:getTableObject 循环遍历工作表并返回具有匹配名称的 ListObject。

这似乎是处理调用代码的上下文的问题。在失败的情况下,公式(函数调用)已放置在各个工作表的各个单元格中。该公式包含对其他单元格中数据的引用。当其他单元格中的数据发生更改时,将调用该公式,该公式又会调用上面给出的 addEmployee Sub。这就是失败的情况。

excel vba listobject

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

如何将 List<object> 保存到 C# uwp 中的设置

如何将列表保存到 C# uwp 中的设置?

为对象定义类

//class    

public class ListOfFile
        {
            public string File_DisplayName { get; set; }
            public string File_Name { get; set; }
            public string File_path { get; set; }
            public string File_Extension { get; set; }
            public StorageFile File_Storage { get; set; }
            public ImageSource File_Thumbnail { get; set; }
        }
Run Code Online (Sandbox Code Playgroud)

定义方法 对于 loadfile 方法:

//method
void loadfile()
{
    List<ListOfFile> FileBind=new List<ListOfFile>();
     var FilesInFolder = await FolderItem.GetFilesAsync();

    foreach(var FileItem in FilesInFolder)
    {
           FileBind.Add(new ListOfFile()
                        {
                            File_DisplayName = FileItem.DisplayName, …
Run Code Online (Sandbox Code Playgroud)

c# settings save listobject win-universal-app

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

Excel Listobject 表 ListRows.count 与 range.rows.count

我正在 Excel 中使用列表对象,但遇到以下问题:每次运行代码时,我都会将数据添加到表中。以前我必须删除所有旧数据。

ThisWorkbook.Sheets("comm").ListObjects(1).DataBodyRange.Delete
Run Code Online (Sandbox Code Playgroud)

之后发生的事情是我收到一个错误:

myNrofRowsinCOMM = COMMtbl.DataBodyRange.Rows.Count
Run Code Online (Sandbox Code Playgroud)

我看了这个帖子无济于事。我还是不明白这是怎么回事。

我也尝试了以下操作:

MsgBox "COMMtbl.Range.Rows.Count:" & COMMtbl.Range.Rows.Count
MsgBox "COMMtbl.ListRows.Count:" & COMMtbl.ListRows.Count
MsgBox "COMMtbl.databodyRange.Rows.Count:" & COMMtbl.DataBodyRange.Rows.Count
If COMMtbl.Range.Rows.Count = 1 Then
    COMMtbl.ListRows.Add (1)
End If
Run Code Online (Sandbox Code Playgroud)

如果表是空的(行标题和第一行是空的),第一行给出 2。所以范围有 2 行,这似乎符合现实。COMMtbl.Range.Rows.Count=2 第二个给出 0。我完全不明白。COMMtbl.ListRows.Count=0 第三个给出错误“未设置对象变量或 withblcok 变量”

我正在尝试向表中添加行并用数据填充它们,为此我添加了一行并填充它。我想在最后添加一行,因此我每次都需要计算行数。一切都很好,除了我之前删除了表格的整个内容时的第一个,看起来像:

在此处输入图片说明

欢迎任何帮助

非常感谢。

excel vba rows range listobject

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

Java List Object而不是Array

我有这样的Java地图:

Map<String, Object> data = new HashMap<String, Object>();
Run Code Online (Sandbox Code Playgroud)

我正在执行以下操作:

data.put("case_ids", new int[] { 31527 });
Run Code Online (Sandbox Code Playgroud)

其中case_ids是第三方API的属性之一.但是,该API抛出incorrect API request error并建议我使用List对象而不是Array:

data.put("case_ids", new int[] { 31527 });

不是List的专家,有什么建议吗?喜欢data.put("case_ids", new List[] { 31527 });

编辑:扩展我当前的问题(避免重新发布或类似的问题).如果我为上面放置操作设置了大量值并想要创建已知值列表,该怎么办?我不认为这是一个正确的方法来提及由逗号分隔的值列表,如31527,3152,31529,31530,31531,...等.我宁愿将它存储在某个地方,只需将其作为输入调用 -data.put("case_ids", new int[] { input });.另外,这可能没有文件吗?只是想避免依赖文件.

java arrays list file-handling listobject

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

检查ListObject值

我试图检查我的范围ListObject,看它是否包含数字9.我不断得到一个"不能隐式转换类型'int'到'bool'".

if (xlWorkBook.Worksheets["Sheet1"].ListObjects["table1"].Range[1, 1].value2 = 9)
{
    xlSheet.Cells[5, 5] = "YES!";
}
else 
{ 
    xlSheet.Cells[5, 5] = "NO!"; 
}
Run Code Online (Sandbox Code Playgroud)

解决了答案:

if (xlWorkBook.Worksheets["Sheet1"].ListObjects["table1"].Range[1, 1].value2 == 9)
{
    xlSheet.Cells[5, 5] = "YES!";
}
else 
{ 
    xlSheet.Cells[5, 5] = "NO!"; 
}
Run Code Online (Sandbox Code Playgroud)

在阅读了C#的运算符后,我发现"=="用于比较,而"="用于赋值.

c# excel-interop listobject

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

VBA列表对象查找功能快速

我有几张包含 ListObjects 的工作表

当我必须在 listbject 中寻找相应的值时,我会做以下事情:

dim mytable as Listobject
set mytable = thisworkbook.sheets(x).listobject(1)
ValuetoSearch="whatever"
valueResult=""
' looking for the corresponding value of column A in column B
for i=1 to mytable.listrows.count
    if mytable.listcolumns("A").databodyrange.item(i).value=ValuetoSearch then
       valueResult=mytable.listcolumns("B").databodyrange.item(i).value
       exit for
    end if
next i
Run Code Online (Sandbox Code Playgroud)

那个有效。美好的。但:

这是进行搜索的最快方式吗?当用户选择工作表中的某些单元格(使用工作簿更改选择)时,我正在“即时”使用其中的几个查找操作,并且当“您感觉到它”时,这几乎是第二个延迟开始对用户来说很烦人。

欢呼谢谢

excel performance vba lookup-tables listobject

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