我正在尝试编写一些会循环遍历表中一系列非连续行的内容,并更改每行中的列数据...例如,ClearContents。范围将是动态的,我要循环的行将全部为“已选择”。
我尝试了以下操作,但在第一行后停止了。我很确定问题是下一行与第一行不连续:
For Each b In a.Rows
mainTasks.DataBodyRange(Range("mainTasks[Status]").Column).ClearContents
Next b
然后我有一个聪明的主意,就是写一些只能用于“选定”列单元格的东西。我尝试使用If ... .Value = Selected
但是没有用。
我是否尝试过Excel 2016 VBA无法做到的事情?也就是说,循环遍历范围内的非连续行?我一直在研究并尝试了其他一些不起作用的东西。你能告诉我,如果我走错了兔子洞吗?
答案 0 :(得分:1)
你的循环中没有任何变量。
它将在循环中重复清除一列。你需要以某种方式在循环中引用b,以在每个循环中得到不同的结果。
答案 1 :(得分:0)
这也有效(我认为)
Dim selectedRange As Range
Set selectedRange = Application.Selection
For Each Row In selectedRange.Rows
Debug.Print Row.Address
Next Row
答案 2 :(得分:0)
我试图在评论中简化您的代码以用于测试目的,但以下代码应该有所帮助,
$json = json_decode(file_get_contents('yourfile.json'));
foreach($json['posts'] as $post) {
if($post['id'] == $_GET['id']) {
echo json_encode($post);
exit;
}
}
我尝试了它并且按照我设置的方式它可以正常工作。希望它有所帮助!
你还必须添加代码来复制数据,我正在清除这个中的内容,因为这是你原来的问题