0
我試圖將數據矩陣轉換爲適合特定分析軟件的新標準。VBA函數遍歷單元格,用相對列標題值替換單元格
初始矩陣如下所示:
real char num 10 10 25 26 26 56
--------------------------------
state num 1 2 9 4 6 3
--------------------------------
name 1 0 0 1 1 0 1
name 2 1 0 0 0 0 0
name 3 0 1 1 0 0 1
name 4 0 1 0 0 1 0
name 5 1 0 0 0 0 0
name 6 0 0 1 0 1 0
我一直在努力實現這一目標:
real char num 10 10 25 26 26 56
--------------------------------
state num 1 2 9 4 6 3
--------------------------------
name 1 0 0 9 4 0 3
name 2 1 0 0 0 0 0
name 3 0 2 9 0 0 3
name 4 0 2 0 0 6 0
name 5 1 0 0 0 0 0
name 6 0 0 9 0 6 0
從本質上講,我試圖做的是:
1。每列,在每個單元格中查找非0的數字;
2.如果達到此條件,請將單元格值替換爲相對「狀態」標題。意思是,例如,如果A4 <> 0,則將其替換爲A3值。
我使用的代碼如下:
Sub Iterate_replace()
Sheets("matrix").Select
Dim r As Range, cell As Range, state As Range
Set r = Range("C3")
Set state = Range("C2")
For Each cell In r
If cell.Value <> "0" Then
cell.Value = state.Value
End If
Next
End Sub
它工作在規定的一個單列的範圍很好,但我無法使其動態。我是否應該使用R1C1表示法來引用範圍內的單元格?我能找到的所有相關內容都不會說明如何使這個迭代更加靈活。我應該使用嵌套循環嗎?循環對我來說是非常困難的事情,但請耐心等待。
如果有人能指出我正確的方向,我將不勝感激。謝謝!
這太棒了。所以我需要的是嵌套循環和關於如何確定範圍的一些知識。非常感謝你,我從你的片段中學到了很多東西(是的,你的假設是正確的)。 – arbolitoloco