返回列表 上一主題 發帖

[發問] 有關sheet名稱的問題

[發問] 有關sheet名稱的問題

sheet的名字照每天的日氣例如:0424 0425 0426....以此類推
但我想要照當天日期抓到那張sheet,這部份該怎麼寫,我試了很久但試不出來!!!

Dim D As String
Dim M As String
Dim Rowno As Integer

D = Day(Now)
M = Month(Now)

If Len(D) = 1 Then
D = "0" + D
Else
D = D
End If

If Len(M) = 1 Then
M = "0" + M
Else
M = M
End If

With Workbooks.Open("a.xls")
再來就試不出來了!!

With Workbooks.Open("a.xls")  '開啟檔案
      with .sheets(format(date,"mmdd")) '開啟檔案內的日期工作表
      end with
end with
學海無涯_不恥下問

TOP

With Workbooks.Open("a.xls")  '開啟檔案
      with .sheets(format(date,"mmdd")) .Range("a:a") '開啟檔案內的日期工作表
      end with
end with

範圍一樣直接加在後面嗎???

TOP

回復 3# imzues


    With Workbooks.Open("a.xls")  '開啟檔案
      with .sheets(format(date,"mmdd"))'開啟檔案內的日期工作表
           with .Range("a:a") '工作表內的A欄

                end with
      end with
end with

這是物件階層的概念問題
WORKBOOKS內包含WORKSHEETS
WORKSHEETS內包含RANGE
學海無涯_不恥下問

TOP

回復 3# imzues
With Workbooks.Open("a.xls")  '開啟檔案
      .Sheets(Format(Date, "mmdd")).Activate '開啟檔案內的日期工作表成為使用中的工作表
End With

TOP

我要把東西Copy過去,但不知那寫錯了!!!

Sub JC()
'
Dim MySheet As Worksheet
Dim D As String
Dim M As String
Dim Rowno As Integer


D = Day(Now)
M = Month(Now)


If Len(D) = 1 Then
D = "0" + D
Else
D = D
End If

If Len(M) = 1 Then
M = "0" + M
Else
M = M
End If

    Set MySheet = ActiveSheet   
With Workbooks.Open("A.xls")

    With .Sheets(Format(Date, "mmdd"))     

           With .Range("R56:V75")            

        MySheet.Range("E18").End(xlDown).Offset(1, 0).Resize(, .Count) = .Value
        
    End With
                 
      End With

               .Close 0

         End With
'

End Sub

TOP

Resize(, .Count) 這會是多大範圍呢?
這可是只有一列100欄唷
學海無涯_不恥下問

TOP

20x20左右的範圍

TOP

本帖最後由 chin15 於 2011-4-25 15:50 編輯

With .Range("R56:V75")  
這時的  Resize(, .Count)
是 1列100欄 的範圍

TOP

了解了~感謝~我知道該怎麼改了!!!

TOP

        靜思自在 : 吃苦了苦、苦盡廿來,享福了福、福盡悲來。
返回列表 上一主題