Page 1 of 1

VBA เพื่อให้ออกค่า TRUE และ FALSE

Posted: Wed Feb 27, 2019 4:02 pm
by วังวู ช่ง
อยากเรียนถามทุกท่านครับ
เรียนเขียน VBA ใหม่ครับ ความต้องการคือว่า
ถ้า column B1:B20 มี่ค่าไหนใหญ่กว่า 0 ให้ column A1:A20 ออกค่า TRUE ไม่นั้นให้ออก FALSE แทนครับ

Code: Select all

Sub Macro1()
If Range("B1:B20").Value > 0 Then
Range("A1:A20") = True
Else
Range("A1:A20") = False
End If
End Sub

Re: VBA เพื่อให้ออกค่า TRUE และ FALSE

Posted: Wed Feb 27, 2019 4:14 pm
by puriwutpokin
ปรับเป็น

Code: Select all

Sub Macro1()
Dim r As Range
Set rAll = Range("b1:b20")
For Each r In rAll
If r.Value > 0 Then
r.Offset(, -1) = True
Else
r.Offset(, -1) = False
End If
Next
End Sub

Re: VBA เพื่อให้ออกค่า TRUE และ FALSE

Posted: Wed Feb 27, 2019 4:58 pm
by วังวู ช่ง
puriwutpokin wrote: Wed Feb 27, 2019 4:14 pm ปรับเป็น

Code: Select all

Sub Macro1()
Dim r As Range
Set rAll = Range("b1:b20")
For Each r In rAll
If r.Value > 0 Then
r.Offset(, -1) = True
Else
r.Offset(, -1) = False
End If
Next
End Sub
สุดยอดครับ ได้ตามต้องการครับ
อยากถามอีกว่า ถ้า b1:b20 มีอันเป็น 0 ให้ hide column นั้นเลยต้องปรับ code ตรงไหนครับ?

Re: VBA เพื่อให้ออกค่า TRUE และ FALSE

Posted: Wed Feb 27, 2019 5:08 pm
by puriwutpokin
ปรับตามนี้ครับ

Code: Select all

Sub Macro1()
Dim r As Range
Set rAll = Range("b1:b20")
For Each r In rAll
If r.Value > 0 Then
r.Offset(, -1) = True
Else
r.EntireRow.Hidden = True
End If
Next
End Sub

Re: VBA เพื่อให้ออกค่า TRUE และ FALSE

Posted: Wed Feb 27, 2019 6:32 pm
by วังวู ช่ง
puriwutpokin wrote: Wed Feb 27, 2019 5:08 pm ปรับตามนี้ครับ

Code: Select all

Sub Macro1()
Dim r As Range
Set rAll = Range("b1:b20")
For Each r In rAll
If r.Value > 0 Then
r.Offset(, -1) = True
Else
r.EntireRow.Hidden = True
End If
Next
End Sub
:D :D :D :thup: :thup: :thup: :cp: :cp: :cp: เก่งมากครับ ได้ตามต้องการเลยครับ

Re: VBA เพื่อให้ออกค่า TRUE และ FALSE

Posted: Wed Feb 27, 2019 7:18 pm
by วังวู ช่ง
วังวู ช่ง wrote: Wed Feb 27, 2019 6:32 pm
puriwutpokin wrote: Wed Feb 27, 2019 5:08 pm ปรับตามนี้ครับ

Code: Select all

Sub Macro1()
Dim r As Range
Set rAll = Range("b1:b20")
For Each r In rAll
If r.Value > 0 Then
r.Offset(, -1) = True
Else
r.EntireRow.Hidden = True
End If
Next
End Sub
:D :D :D :thup: :thup: :thup: :cp: :cp: :cp: เก่งมากครับ ได้ตามต้องการเลยครับ
ถ้าเราอยากทำหลายๆ sheet พร้อมกันได้ไม่ครับ ถ้าได้จะปรับตรงไหนอีกครับ

Re: VBA เพื่อให้ออกค่า TRUE และ FALSE

Posted: Wed Feb 27, 2019 7:59 pm
by puriwutpokin
:D ปรับเป็น

Code: Select all

Sub Macro3()
Dim r As Range
Dim i As Integer
For i = 1 To Sheets.Count
With Sheets(i)
Set rAll = .Range("b1:b20")
For Each r In rAll
If r.Value > 0 Then
r.Offset(, -1) = True
Else
r.EntireRow.Hidden = True
End If
Next
End With
Next
End Sub

Re: VBA เพื่อให้ออกค่า TRUE และ FALSE

Posted: Wed Feb 27, 2019 9:16 pm
by วังวู ช่ง
puriwutpokin wrote: Wed Feb 27, 2019 7:59 pm :D ปรับเป็น

Code: Select all

Sub Macro3()
Dim r As Range
Dim i As Integer
For i = 1 To Sheets.Count
With Sheets(i)
Set rAll = .Range("b1:b20")
For Each r In rAll
If r.Value > 0 Then
r.Offset(, -1) = True
Else
r.EntireRow.Hidden = True
End If
Next
End With
Next
End Sub
:D :D :D :thup: :thup: :thup: :cp: :cp: :cp: เก่งมากครับ ขอบคุณมากครับ