標題:
[發問]
[已解決]數字排列
[打印本頁]
作者:
jiuhtsair
時間:
2012-2-7 23:06
標題:
[已解決]數字排列
本帖最後由 jiuhtsair 於 2012-2-8 00:10 編輯
各位大大好:[attach]9483[/attach]
弟有一個4*5的陣列,想將他依序放在位置上。
資料如附檔
例如,03 就放再3那一欄,12就放在12那一欄..
弟的想法是利用迴圈來完成..
但是寫程式的過程,跳出執行階段錯誤“1004”,應用程式或物件上的錯誤。
想請大大幫弟看看是哪裡需要修改。謝謝!
作者:
register313
時間:
2012-2-7 23:27
本帖最後由 register313 於 2012-2-7 23:34 編輯
回復
1#
jiuhtsair
使用公式
H2=IF(COUNTIF($C2:$G2,H$1)>0,H$1,"")
[attach]9484[/attach]
使用VBA
Sub AA()
Range("H2:AA4") = ""
For I = 2 To 4
For J = 3 To 7
Cells(I, J).Copy Cells(I, 7 + Cells(I, J))
Next J
Next I
End Sub
複製代碼
作者:
jiuhtsair
時間:
2012-2-7 23:46
回復
2#
register313
感謝register313大大解惑!
對於Cells的應用又多學會了一項。感謝!
作者:
GBKEE
時間:
2012-2-8 08:19
本帖最後由 GBKEE 於 2012-2-8 10:53 編輯
回復
1#
jiuhtsair
Sub Ex()
Dim k As Integer '宣告為數字型態
[h1].Offset(1).Resize(3, 20) = "" '[h1]的下一列位置: 擴充 3列20欄的位置
For i = 2 To 4 '第2列 - 第4列
For j = 3 To 7 '第3欄 - 第7欄
k = Sheets(1).Cells(i, j) 'Sheets(1).Cells(i, j)的內容為字串型態
'k 已宣告為數字: 將字串型態轉換為數字型態
'Sheets(1).[h1].Cells(i, k) = k '[h1]的第 i 列,第 k 欄=k
Sheets(1).[h1].Cells(i, k) = "'" & k '[h1]的第 i 列,第 k 欄=k
' "'" & k 數字轉換為文字
Next j
Next i
End Sub
Sub Ex1()
Dim E As Range
[h1].Offset(1).Resize(3, 20) = ""
For Each E In [C2:G4] ' '依序在[C2:G4] 的每一儲存格
Sheets(1).[h1].Cells(E.Row, E) = E '=原本的文字型態
'Cells(E.Row, E) E.Row : 儲存格的列號 , E : 儲存格的內容( 內容如為字串 系統 自動轉換為數字 )
'Sheets(1).[h1].Cells(E.Row, E) = E.Value '=數字型態
Next
End Sub
複製代碼
作者:
jiuhtsair
時間:
2012-2-8 15:39
回復
4#
GBKEE
感謝GBKEE大大提供的兩個方式!
讓小弟可以學習到更多的解法!
謝謝!感恩!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)