当前位置: 首页 > 知识库问答 >
问题:

忽略循环VBA中的隐藏行

颜杰
2023-03-14

我有这个代码,可以获取股票价格。所有股票符号都在一个表列表中,现在如果该符号不在观察列表中,其行将被隐藏。我现在面临的挑战或我想要实现的是忽略这些隐藏的行来获取其股价。我只是想让代码忽略它。提前谢谢你的帮助。

当前结果是这样的(那些在观察列表中为“否”的是隐藏行,但代码仍然返回其价格):

行符号价格观察列表(过滤器)

1 ABS 17是的

2 BDO 19号

3 NIKL 4是的

4技术5号

5 MWC 10是

我想要实现的是,代码只需忽略那些隐藏在获取股价中的股票/行。

行符号价格观察列表(过滤器)

1 ABS 17是的

2号BDO

3 NIKL 4是的

4技术编号

5 MWC 10是

'Last row find
lastrow = ws.Cells(Rows.Count, "A").End(xlUp).Row

Set rng = ws.Range("A6:A" & lastrow)

'Clear Prior Prices
ws.Range("H6:I" & lastrow).ClearContents

n = 6
'Get Symbols list

For Each x In rng

symbol = x


Set myrequest = CreateObject("WinHttp.WinHttpRequest.5.1")
myrequest.Open "Get", "http://phisix-api.appspot.com/stocks/" & symbol & ".json"
On Error Resume Next
myrequest.Send


If myrequest.ResponseText = "" Then

 i = 0
 ws.Range(Cells(n, 8), Cells(n, 8)) = i
 ws.Range(Cells(n, 9), Cells(n, 9)) = i


 Else

  Dim Json As Object
  Set Json = JsonConverter.ParseJson(myrequest.ResponseText)
    i = Json("stock")(1)("price")("amount")
    ws.Range(Cells(n, 8), Cells(n, 8)) = i
    i = Json("stock")(1)("percent_change") / 100
     ws.Range(Cells(n, 9), Cells(n, 9)) = i


 End If

n = n + 1

Next x

共有1个答案

乔丁雨
2023-03-14

你可以试试下面的。

'Last row find
lastrow = ws.Cells(Rows.Count, "A").End(xlUp).Row

Set rng = ws.Range("A6:A" & lastrow)

'Clear Prior Prices
ws.Range("H6:I" & lastrow).ClearContents

n = 6
'Get Symbols list

For Each x In rng

If x.entirerow.Hidden = false then
symbol = x

Set myrequest = CreateObject("WinHttp.WinHttpRequest.5.1")
myrequest.Open "Get", "http://phisix-api.appspot.com/stocks/" & symbol & ".json"
On Error Resume Next
myrequest.Send


If myrequest.ResponseText = "" Then  
 i = 0
 ws.Range(Cells(n, 8), Cells(n, 8)) = i
 ws.Range(Cells(n, 9), Cells(n, 9)) = i

 Else

  Dim Json As Object
  Set Json = JsonConverter.ParseJson(myrequest.ResponseText)
    i = Json("stock")(1)("price")("amount")
    ws.Range(Cells(n, 8), Cells(n, 8)) = i
    i = Json("stock")(1)("percent_change") / 100
     ws.Range(Cells(n, 9), Cells(n, 9)) = i
 End If  
End if
n = n + 1

Next x
 类似资料:
  • 我正在使用这个小包装插件: https://github.com/tsevdos/n包装器 基本布局如下: 正在初始化插件: 我使用select filters隐藏/显示childrevs,然后重新初始化插件。我想知道是否可以将隐藏的divs从包装计数中排除? 最后,我使用jQuery循环来显示包装的DIV,所以隐藏的DIV应该在包装内(但不计算)。否则,cycle将把每个隐藏的div视为一个项。

  • 主要内容:循环控制语句当需要多次执行一段代码时,就可以使用循环语句。 一般来说,语句是按顺序执行的:函数中的第一个语句首先执行,然后是第二个,依此类推。 编程语言提供了各种控制结构,允许更复杂的执行路径。 循环语句允许多次执行语句或语句组。 以下是VBA中循环语句的一般形式。 VBA提供以下类型的循环来处理循环需求。点击以下链接查看详细信息。 编号 循环类型 描述 1 for循环 多次执行一系列语句,缩写管理循环变量的

  • 问题内容: 我的python脚本执行一个路径,其中路径是一个队列,其中包含我需要一个一个对待的档案。 问题是我将列表放入数组中,然后执行一个简单的。直到我将项目置于颠覆状态之前,一切都很好。现在,我将文件夹保存在数组中,这当然会使我的应用程序崩溃。 所以这是我的问题:是否有一个函数在执行时会忽略隐藏文件,如果不是,那是最好的方法? 问题答案: 您可以自己写一个: 或者您可以使用glob: 这些文件

  • 本文向大家介绍如何在Python中使用os.listdir()忽略隐藏文件?,包括了如何在Python中使用os.listdir()忽略隐藏文件?的使用技巧和注意事项,需要的朋友参考一下 在Unix OS(OSX,Linux等)上,隐藏文件以“。”开头。因此我们可以使用简单的startwith check过滤掉它们。在Windows上,我们需要检查文件属性,然后确定文件是否隐藏。 示例 例如,您可

  • 问题内容: 我正在编写的Python程序将从文件顶部读取一定数量的行,并且该程序需要保留此标头以备将来使用。目前,我正在做类似以下的事情: Pylint抱怨我没有使用该变量。什么是更pythonic的方式做到这一点? 编辑:该程序的目的是将原始文件智能地拆分为较小的文件,每个文件都包含原始标头和数据的子集。因此,在读取文件的其余部分之前,我只需要读取并保留标题。 问题答案: f = open(‘f

  • 所以基本上,我创建了一个小函数,从WordPress获取某个类别的最新帖子,并将它们链接到一个测试页面中。函数本身工作,从这个stackexchange线程抓取它。我的while循环设置当前忽略了我尝试返回的所有HTML/CSS。 删除_post()会忽略$args并列出所有类别中的所有帖子,而不只是我列出的那个,但仍然会忽略HTML。 删除wp_reset_postdata()并没有像我所看到的