Board logo

標題: Do...While因為有空格就不繼續運行的問題 [打印本頁]

作者: Hero2013    時間: 2013-3-23 22:33     標題: Do...While因為有空格就不繼續運行的問題

例如:a1="90分", a2="40分" a3="空格" a4"=60分"
下面的vba只運行a1 至a2, a4因為a3是空格, 所以沒有繼續運行。
請問怎樣可以運行a1 至a4 ????

Sub b1()
Worksheets("Sheet1").Select
x = 1
Do While Cells(1, x) <> ""

Select Case Cells(1, x)
Case Is >= 90
Cells(2, x) = "A"
Case Is > 80
Cells(2, x) = "B"
Case Is >= 70
Cells(2, x) = "C"
Case Is >= 60
Cells(2, x) = "D"
Case Is >= 50
Cells(2, x) = "E"
Case Else
Cells(2, x) = "F"
End Select

x = x + 1
Loop

End Sub
作者: GBKEE    時間: 2013-3-24 08:08

本帖最後由 GBKEE 於 2013-3-24 08:27 編輯

回復 1# Hero2013
  1. Option Explicit
  2. Sub b1()
  3.     Dim X As Integer, R As Integer
  4.     With Worksheets("Sheet1")
  5.         .Activate
  6.         R = .Cells(1, .Columns.Count).End(xlToLeft).Column
  7.         '取得工作表最右欄往左直到第一個有資料的欄數號
  8.     End With
  9.     X = 1
  10.     Do While X <= R
  11.      'Do While X <= 15          '指定範圍
  12.         Select Case Cells(1, X)
  13.             Case Is >= 90
  14.                 Cells(2, X) = "A"
  15.             Case Is >= 80
  16.                 Cells(2, X) = "B"
  17.             Case Is >= 70
  18.                 Cells(2, X) = "C"
  19.             Case Is >= 60
  20.                 Cells(2, X) = "D"
  21.             Case Is >= 50
  22.                 Cells(2, X) = "E"
  23.             Case Else
  24.                 Cells(2, X) = "F"
  25.         End Select
  26.         X = X + 1
  27.     Loop
  28. End Sub
  29. Sub Ex()
  30.     Dim E As Range
  31.     For Each E In Worksheets("Sheet1").[ A1:J1]
  32.         Select Case E
  33.             Case Is >= 90
  34.                 E.Cells(2) = "A"
  35.                 'E.Offset(1) = "A" '也可以如此
  36.             Case Is >= 80
  37.                 E.Cells(2) = "B"
  38.             Case Is >= 70
  39.                 E.Cells(2) = "C"
  40.             Case Is >= 60
  41.                 E.Cells(2) = "D"
  42.             Case Is >= 50
  43.                 E.Cells(2) = "E"
  44.             Case Else
  45.                 E.Cells(2) = "F"
  46.         End Select
  47.     Next
  48. End Sub
複製代碼

作者: Hero2013    時間: 2013-3-24 09:39

謝了GBKEE板主




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