返回列表 上一主題 發帖

請教各位前輩關於VB 一些問題

本帖最後由 GBKEE 於 2010-8-5 07:59 編輯

回復 1# jntseng
Public Sub tt()
    Dim x As Range, Y As Range, rng As Range, r As Long '宣告變數
    Dim y1 As Range, y2 As Range
    Dim Ar, h%
    Ar = Array("ba2:ba", "bb2:bb", "bc2:bc")
    For h = 0 To UBound(Ar)
        r = Cells(65536, 52 + h+1).End(xlUp).Row      '取的A欄最大列位
        Set rng = Range(Ar(h) & r)    '取得資料範圍
        For Each x In rng                  '資料範圍內每一儲存格
            If x = "" Then                     '若儲存格值為""
                If Y Is Nothing Then           'Y若不存在
                    Set Y = x                    '將Y設定為x
                    MsgBox Y.Address
                Else                               '若Y存在
                    Set Y = Union(Y, x)            '結合Y及x成為新的範圍Y
                End If
            End If
        Next
        If Not Y Is Nothing Then Y.Delete (xlUp) '若Y存在將Y刪除
    Next
End Sub

TOP

本帖最後由 GBKEE 於 2010-8-7 08:06 編輯

回復 3# jntseng
附上檔案看看
h%  ->h As Integer
Integer 變數係以範圍為 -32,768 到 32,767 之 16 位元 (2 個位元組) 數字的形式儲存。Integer 的型態宣告字元是百分比符號(%)。

TOP

回復 5# jntseng
試試看
  1. Sub Ex()
  2.     Dim AR As Range, E As Range
  3.     Set AR = Sheet1.Range("AW3", Sheet1.Range("AW" & Rows.Count).End(xlUp).Offset(-1))
  4.     'Sheet1.Range("AW" & Rows.Count).End(xlUp).Offset(-1)) -> Sheet1.Range("AW" & Rows.Count) "AW欄最底端的儲存格" .End(xlUp) "往上的第一個有資料的儲存格"
  5.     '.Offset(-1)) 所在的儲存格往上位移一列
  6.     For Each E In AR
  7.     ' 將 E 代數你的程式碼中   
  8.     Next
  9. End Sub
複製代碼

TOP

回復 7# jntseng
設定變數  如指定變數為物件時 要加上 SET Y=union(Y,x)
Union 方法  傳回兩個或多個範圍的合併範圍。

TOP

        靜思自在 : 有願放在心裡,沒有身體力行,正如耕田不播種,皆是空過因緣。
返回列表 上一主題