Board logo

標題: [發問] [已解決]數字排列 [打印本頁]

作者: 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
  1. Sub AA()
  2. Range("H2:AA4") = ""
  3. For I = 2 To 4
  4.   For J = 3 To 7
  5.     Cells(I, J).Copy Cells(I, 7 + Cells(I, J))
  6.   Next J
  7. Next I
  8. 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
  1. Sub Ex()
  2.     Dim k As Integer                    '宣告為數字型態
  3.     [h1].Offset(1).Resize(3, 20) = ""   '[h1]的下一列位置: 擴充 3列20欄的位置
  4.     For i = 2 To 4                      '第2列 - 第4列
  5.         For j = 3 To 7                  '第3欄 - 第7欄
  6.             k = Sheets(1).Cells(i, j)   'Sheets(1).Cells(i, j)的內容為字串型態
  7.             'k 已宣告為數字: 將字串型態轉換為數字型態
  8.             'Sheets(1).[h1].Cells(i, k) = k '[h1]的第 i 列,第 k 欄=k
  9.             
  10.             Sheets(1).[h1].Cells(i, k) = "'" & k '[h1]的第 i 列,第 k 欄=k
  11.             ' "'" & k  數字轉換為文字
  12.         Next j
  13.    Next i
  14. End Sub
  15. Sub Ex1()
  16.     Dim E As Range
  17.     [h1].Offset(1).Resize(3, 20) = ""
  18.     For Each E In [C2:G4]                       '             '依序在[C2:G4] 的每一儲存格
  19.             Sheets(1).[h1].Cells(E.Row, E) = E        '=原本的文字型態
  20.             'Cells(E.Row, E)   E.Row : 儲存格的列號 ,  E : 儲存格的內容( 內容如為字串  系統 自動轉換為數字 )
  21.             'Sheets(1).[h1].Cells(E.Row, E) = E.Value '=數字型態
  22.    Next
  23. End Sub
複製代碼

作者: jiuhtsair    時間: 2012-2-8 15:39

回復 4# GBKEE
感謝GBKEE大大提供的兩個方式!
讓小弟可以學習到更多的解法!
謝謝!感恩!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)