vba - 生成 0 和 1 的组合
问题描述
我有两行单元格:A1、B1、C1 和 A2、B2、C2。在这 2 行中的每一行中,只能有一个 1,而其他两个单元格设置为 0。这是一个示例:
A B C
+---+---+---+
1 | 1 | 0 | 0 |
+---+---+---+
2 | 0 | 1 | 0 |
+---+---+---+
我正在尝试遍历所有 9 种可能的组合:第一行的 3 种可能性乘以第二行的 3 种可能性。我该怎么做呢?
解决方案
这是一种方法:
Function delta(i As Long, n As Long) As Variant
'returns an array of length n
'consisting of all 0 with one 1
'at index i
Dim A As Variant
ReDim A(1 To n) As Long
A(i) = 1
delta = A
End Function
Sub IterateOver()
Dim i As Long, j As Long
For i = 1 To 3
Range("A1:C1").Value = delta(i, 3)
For j = 1 To 3
Range("A2:C2").Value = delta(j, 3)
'stub for real code:
MsgBox "Continue?", vbQuestion, "Test"
Next j
Next i
End Sub
推荐阅读
- process - 父进程无法正确写入 lua 子进程标准输入
- arrays - PowerShell:拆分大型 JSON 文件的策略
- seo - TYPO3 - 在自定义扩展的详细视图上覆盖和添加元标记(来自 tx_metaseo)
- c# - 设置 UI 滑块来控制后期处理效果?
- javascript - Pug 访问对象数组
- google-nearby - 我们可以改变 Nearby 连接中 Connection 策略的网络结构吗?
- javascript - 刷新页面时打开BS Modal询问用户是否确定
- scala - 如何获取列的最小值和最大值?
- sql - 用那一天 SQL 替换某一天之前的每个日期
- asp.net - 将文本文件数据插入sql数据库