標題:
更新問題
[打印本頁]
作者:
mdr0465
時間:
2017-8-31 23:44
標題:
更新問題
各位大大,
請幫忙看附件,為什麼在"A"欄朼會自動加資料,但在"B"就唔會? 但當我輸入只是"數字"就可以自動加資料??
謝謝
[attach]27704[/attach]
作者:
GBKEE
時間:
2017-9-1 09:29
回復
1#
mdr0465
WorksheetFunction.Count 方法
會統計
含有數字
的儲存格,並統計引數清單內的數值。
Format(Mid(Sheets(1).Cells(64, 1), 6, 11), "dd/nn/yy")
複製代碼
是文字
WorksheetFunction.CountA 方法
會統計
不是空白
的儲存格,以及引數清單內的數值。
Application.Goto ActiveWorkbook.Sheets(2).Cells(1, 2)
'On Error Resume Next
cnt = WorksheetFunction.CountA(Range("b:b"))
複製代碼
你的程式可修改為CountA
試試看
Sub test()
Dim rng As Range
Dim i, cnt, number As Integer
Dim x As Range
i = 73
number = 0
For i = i To 86
Set x = ActiveWorkbook.Sheets(1).Cells(i, 1)
If IsNumeric(x) = True And IsEmpty(x) = False Then
number = number + 1
End If
Next
cnt = WorksheetFunction.Count(ActiveWorkbook.Sheets(2).Range("a:a"))
For i = 1 To number
With ActiveWorkbook.Sheets(2)
.Cells(cnt + i, 1) = i
With .Cells(cnt + i, 2)
.Cells = Format(Mid(ActiveWorkbook..Sheets(1).Cells(64, 1), 6, 11), "YYYY/MM/DD")
.NumberFormatLocal = "mm/dd/yy;@"
End With
End With
Next
End Sub
複製代碼
作者:
mdr0465
時間:
2017-9-1 12:53
本帖最後由 mdr0465 於 2017-9-1 12:55 編輯
回復
2#
GBKEE
GBKEE 謝謝你的回覆, 我是VBA初哥, 我都知道我寫得很累贅, 謝謝你幫我簡化,
但有一樣野想向你請教
.Cells = Format(Mid(ActiveWorkbook.Sheets(1).Cells(64, 1), 6, 11),
"YYYY/MM/DD"
)
.NumberFormatLocal = "dd/mm/yy;
@
"
以上這一段的紫色部份
1. 為什麼要先設定為"年/月/日"??是有什麼用途呢??
2. "@" 是有什麼用途呢??
謝謝賜教
作者:
GBKEE
時間:
2017-9-1 17:03
本帖最後由 GBKEE 於 2017-9-2 05:59 編輯
回復
3#
mdr0465
Format(Mid(Sheets(1).Cells(64, 1), 6, 11), "dd/mm/yy")
複製代碼
Format傳回是, "yyyy/mm/dd"或 "mm/dd/yyyy"系統才會認定 是日期格式
Sub Ex()
With ActiveCell
.Value = Format(Date, "dd/mm/yy")
MsgBox Date & "-->" & .Value
End With
End Sub
複製代碼
2. "@" 是有什麼用途呢??
"@" 表為文字格式
可詳看VBA的說明(2010)
Excel / 輸入資料並設定格式 / 設定資料格式 / 建立或刪除自訂數字格式
[建立或刪除自訂數字格式]
作者:
mdr0465
時間:
2017-9-1 19:50
回復
4#
GBKEE
版主,明白了, 謝謝你的教導, 受教了,
謝謝
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)