Board logo

標題: [發問] 兩個變數無法合成一個變數,如何修改? [打印本頁]

作者: t8899    時間: 2015-4-26 19:33     標題: 兩個變數無法合成一個變數,如何修改?

sub test()
Dim  ddda,ou
For ou = 2 To 61
If Sheets("Sheet3").Cells(ou, "bc") > 2.8 Then
ddda & ou = Format(Sheets("Sheet3").Cells(ou, "b").Row, "00") '紅色為錯誤
end if
next
end sub
作者: lpk187    時間: 2015-4-26 22:59

本帖最後由 lpk187 於 2015-4-26 23:01 編輯

回復 1# t8899

為何不   ddda = Format(Sheets("Sheet3").Cells(ou, "b").Row, "00")   & ou               '紅色為錯誤

等號的前面只能有一個變數,等號的後面卻可以有好幾個連結或做運算
作者: t8899    時間: 2015-4-27 06:51

回復  t8899

為何不   ddda = Format(Sheets("Sheet3").Cells(ou, "b").Row, "00")   & ou             ...
lpk187 發表於 2015-4-26 22:59


我需要的是好幾個變數放入不同的值
例如
ddda1=abc
ddda2=fgh
ddda3=ijk
.....
....
....
....
作者: lpk187    時間: 2015-4-27 07:18

回復 3# t8899


    變數不能這樣累加,你的方式可以利用陣列來表示
Sub test()
Dim ddda(2 To 61)
For ou = 2 To 61
If Sheets("Sheet3").Cells(ou, "bc") > 2.8 Then
ddda(ou) = Format(Sheets("Sheet3").Cells(ou, "b").Row, "00") '紅色為錯誤
End If
Next
End Sub
作者: t8899    時間: 2015-4-27 15:03

本帖最後由 t8899 於 2015-4-27 15:20 編輯
回復  t8899


    變數不能這樣累加,你的方式可以利用陣列來表示
Sub test()
Dim ddda(2 To 61)
F ...
lpk187 發表於 2015-4-27 07:18


Sub test()
Dim ddda(2 To 4)
For ou = 2 To 4
If Sheets("Sheet3").Cells(ou, "b") > 2.8 Then
ddd = ddd & Sheets("Sheet3").Cells(ou, "b").Row & ","
ddda(ou) = Format(Sheets("Sheet3").Cells(ou, "b").Row, "00")
End If
Next
Range("c65536").End(xlUp).Offset(1) = ddd
Dim pp
For pp = 1 To Len(ddd)
MsgBox Mid(ddd, pp, 2)
If Mid(ddd, pp, 2) = ddda(ou) Then  '陣列索引超出範圍
  Range("c65536").End(xlUp).Offset(0).Characters(pp, 2).Font.ColorIndex = 7
pp = pp + 1
End If
Next
End Sub [attach]20809[/attach]
目的,把 ddd 裡面 大於 2.8的字(row) 變色
作者: t8899    時間: 2015-4-27 19:31

本帖最後由 t8899 於 2015-4-27 19:38 編輯

我試出來了, 不知有無較簡便(快速)的方法 ? 紅色部份又多跑一次??
目的,把 ddd 裡面 大於 2.8的字(row) 變色
Sub test()
Dim ddda(1 To 8)
For ou = 1 To 8
If Sheets("Sheet3").Cells(ou, "b") > 2.8 Then
ddd = ddd & Format(Sheets("Sheet3").Cells(ou, "b").Row, "00") & ","
ddda(ou) = Format(Sheets("Sheet3").Cells(ou, "b").Row, "00")
Else
ddd = ddd & Format(Sheets("Sheet3").Cells(ou, "b").Row, "00") & ","
End If
Next
Range("c65536").End(xlUp).Offset(1) = ddd
Dim pp
For pp = 1 To Len(ddd)
For ou = 1 To 8  
If Mid(ddd, pp, 2) = ddda(ou) Then
  Range("c65536").End(xlUp).Offset(0).Characters(pp, 2).Font.ColorIndex = 7
  End If
  Next      
pp = pp + 2
Next  
End Sub [attach]20812[/attach]




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