[Excel VBA] 請問怎樣把資料橫放到適當的儲存格上?

Home Home
引用 | 編輯 dreamhill
2009-09-07 01:51
樓主
推文 x0
不知怎樣問,不如看圖吧? ..

訪客只能看到部份內容,免費 加入會員



獻花 x0
引用 | 編輯 totsi
2009-09-09 09:45
1樓
  
最簡單的作法就是掃描適當的列(Column),例如在已繳的地方輸入好日期後。

就去搜尋D列內的資料,然後根據sheet2的房門號碼對應B列找出對應的行號(Row),都符合的話在把所需要的資料抓出來塞給你要顯示的cell就可以嚕。

簡易範例如下
複製程式
'輸入已繳日期完成後

'TotalRowNum = 你的總資料數目
Dim nCurNoRow As Integer
Dim nCurNoCol As Integer

nCurNoRow = 4 '初始行號
nCurNoCol = 2 '初始列號

For i = 3 To TotalRowNum
  If ( Sheet1.Cell(i, 4) = Sheet2.Cell(2,2) )                                 '找到符合日期的資料
    If ( Sheet1.Cell(i, 2) = Sheet2.Cell(nCurNoRow, nCurNoCol) )   '找到符合的房門號碼
        '做你想做的事情
    EndIf    

    nCurNoCol= nCurNoCol+2 '不論有沒有找到都要找下一個位置
  EndIf  
Next i


先玩玩看吧 表情

獻花 x1
引用 | 編輯 dreamhill
2009-09-10 03:16
2樓
  
多謝大大回答,先拿程式去慢慢研究。
感恩!

獻花 x0
引用 | 編輯 dreamhill
2009-09-12 02:49
3樓
  
totsi大大,
我想請問怎樣把Sheet1裡尋找到的資料放到Sheet2裡的B4至P4,若P4有資料就由B6至P6繼續自動填上;
若P6也填上了就換到下一行繼續自動填上。

簡單的說就是從左至右,由上而下的逐一填上Sheet2的方格。
萬分感謝!

獻花 x0
引用 | 編輯 fox3000
2009-09-26 07:47
4樓
  
Sub tt()
  Dim rngTemp As Range
 
  '定義作用範圍為 B4:P10 (依需要做適當的修改)
  For Each rngTemp In Range("B4:P10")
    '由於有合併儲存格,以例子來看,剛好是偶數列 + 偶數欄,所以再加上「偶數列 + 偶數欄」的判斷
    If rngTemp.Row Mod 2 = 0 And rngTemp.Column Mod 2 = 0 Then
        '判斷此儲存格是否為空值,是才可填入資料
        If rngTemp.Value = "" Then
          rngTemp.Value = "1513" '填入資料
        End If
    End If
  Next
End Sub

獻花 x1