Board logo

標題: [發問] 儲存格計算問題 [打印本頁]

作者: whirlwind963    時間: 2012-9-26 16:36     標題: 儲存格計算問題

請問如果我儲存格A和B都有值
要在C的儲存格計算A+B的值
要怎樣才能自動計算
而不要用拖曳下拉的方式
作者: mark15jill    時間: 2012-9-26 16:51

回復 1# whirlwind963


    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        For bb = 1 To 65535
            If Cells(bb, 1) <> "" And Cells(bb, 2) <> "" Then Cells(bb, 4) = Cells(bb, 1) + Cells(bb, 2)
            
        Next
End Sub
作者: 笨小孩    時間: 2012-9-26 17:07

回復 1# whirlwind963

在C1輸入=SUM(A1+B1)就行,但只有A1或B1內有數值時,C1為空白就忘記了點做,我也想學回。
作者: whirlwind963    時間: 2012-9-26 17:56

回復 2# mark15jill

如果有判斷式的怎麼用的
A1是日期格式:2012/09/06 16:43:23  改為20120906/16  --> TEXT(A1,yyyymmdd/hh)
B1是數字  :1-1920 為AREA1   1921-3840為AREA2   3841-5760為AREA3   ->>IF(AND(B1>1,B11920),"area1",IF(AND(B1>1921,B1<3840)rea2",IF(AND(B1>3841,B1<5760),"area3")))
C1= TEXT(A1,yyyymmdd/hh) & IF(AND(B1>1,B11920),"area1",IF(AND(B1>1921,B1<3840)rea2",IF(AND(B1>3841,B1<5760),"area3")))
作者: mark15jill    時間: 2012-9-27 08:47

回復 4# whirlwind963


    您要的功能是甚麼?
如果有判斷式的怎麼用的
A1是日期格式:2012/09/06 16:43:23  改為20120906/16  --> TEXT(A1,yyyymmdd/hh)  <改格式?>
B1是數字  :1-1920 為AREA1   1921-3840為AREA2   3841-5760為AREA3   ->>IF(AND(B1>1,B11920),"area1",IF(AND(B1>1921,B1<3840)rea2",IF(AND(B1>3841,B1<5760),"area3")))    <選區段?>
C1= TEXT(A1,yyyymmdd/hh) & IF(AND(B1>1,B11920),"area1",IF(AND(B1>1921,B1<3840)rea2",IF(AND(B1>3841,B1<5760),"area3")))   <是否超過期限?>
作者: whirlwind963    時間: 2012-9-27 13:33

回復 5# mark15jill

              日期                                 區段                 結果
2012/09/21  13:54:34               1347                20120921/13+AREA1
2012/09/24  17:54:34               2571                20120924/17+AREA2
2012/09/27  16:34:12                4571               20120927/16+AREA3
作者: mark15jill    時間: 2012-9-27 14:12

僅用小段程式代表
可用迴圈 改善
  1.     Columns("A:A").Select
  2.     Selection.NumberFormatLocal = "yyyy/mm/dd hh:mm:ss;@"
  3.         Columns("E:z").Select
  4.     Selection.NumberFormatLocal = "@"
  5. For xay = 2 To 10
  6.     If Cells(xay, 1) <> "" Then
  7.         a1 = Mid(Cells(xay, 1), 1, 4)
  8.         a2 = Mid(Cells(xay, 1), 5, 1)
  9.         a3 = Mid(Cells(xay, 1), 6, 2)
  10.         a4 = Mid(Cells(xay, 1), 8, 1)
  11.         a5 = Mid(Cells(xay, 1), 9, 2)
  12.         
  13.         b1 = Mid(Cells(xay, 1), 14, 2)
  14.         b2 = Mid(Cells(xay, 1), 16, 1)
  15.         b3 = Mid(Cells(xay, 1), 17, 2)
  16.         b4 = Mid(Cells(xay, 1), 19, 1)
  17.         b5 = Mid(Cells(xay, 1), 20, 2)
  18.    
  19.         For hs = 1 To 5760
  20.             Select Case hs
  21.                 Case 1 To 1920
  22.                     aa = "area1"
  23.                     If Cells(xay, 2) = hs Then Cells(xay, 3) = a1 & a3 & a5 & b1 & "+" & aa
  24.                     
  25.                 Case 1921 To 3840
  26.                     ab = "area2"
  27.                     If Cells(xay, 2) = hs Then Cells(xay, 3) = a1 & a3 & a5 & b1 & "+" & aa
  28.                 Case 1921 To 5760
  29.                     ac = "area3"
  30.                     If Cells(xay, 2) = hs Then Cells(xay, 3) = a1 & a3 & a5 & b1 & "+" & aa
  31.             End Select
  32.             
  33.             
  34.         Next
  35.     End If

  36. Next xay
複製代碼
回復 6# whirlwind963
作者: JBY    時間: 2012-9-28 22:00

本帖最後由 JBY 於 2012-9-28 22:03 編輯
   期                                 區段                 結果
2012/09/21  13:54:34               1347                20120921/13+AREA1
2012/09/24  17:54:34               2571                20120924/17+AREA2
2012/09/27  16:34:12                4571               20120927/16+AREA3
whirlwind963 發表於 2012-9-27 13:33


結果, C1 :

=TEXT(A1,"yyyymmdd/hh")&"+AREA"&LOOKUP(B1,{1;1921;3841},{1;2;3})




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