چگونه متغیر را در یک رشته قرار بدهیم (VBA)
role = "if dry_avg = " & dryavg & "and dry_max =" & drymax & "and drymin=" & drymin
در تکه کد بالا قسمت های پررنگ متغییر هایی هستند که در یک رشته قرار گرفته اند و محتوایات خود را در دل رشته قرار می دهند.
role = "if dry_avg = " & dryavg & "and dry_max =" & drymax & "and drymin=" & drymin
در تکه کد بالا قسمت های پررنگ متغییر هایی هستند که در یک رشته قرار گرفته اند و محتوایات خود را در دل رشته قرار می دهند.
Sub milad()
For i = 9 To 750
Set xL = Range(Cells(i, 1), Cells(i, 8))
xL.Merge
Next i
End Sub
Sub BINARY()
For i = 2 To 2076
If Cells(9, i) > 0 Then
Cells(9, i) = 1
End If
Next i
End Sub
Sub class()
For i = 739 To 2 Step -1
Select Case Cells(49, i)
Case Is < 2
Cells(48, i) = 1
Case Is < 5
Cells(48, i) = 2
Case Is < 11
Cells(48, i) = 3
Case Else
Cells(48, i) = 4
End Select
Next i
End Sub
سلام با این تکه کد می توانید هر دسته از ستون های فایل اکسل را حدف نمایید.
Sub delete()
For i = 2076 To 1 Step -1
If Cells(48, i) = 0 Then ' در صورت صفر بودن '
Columns(i).delete Shift:=xlToLeft
End If
Next i
End Sub
نکته مهم در این تکه کد پیمایش از انتها به ابتدا است . کشف علت این امر را به خواننده واگذار میکنم
Sub compute()
Dim shib As Single
For i = 2 To 20
Set xL = Range(Cells(2, i), Cells(9, i))
Set yL = Range("B1:I1")
shib = Application.WorksheetFunction.Slope(xL, yL)
Cells(10, i) = shib
Next i
End Sub
کد زیر در یک مجموعه اکسل مقادیری که مقدار بزرگتر از 0.6 داشته باشند را BOLD می کند.
Sub Bold()
For Each c In Worksheets("Winter_1").Range("E54:BA101").Cells
If c.Value > 0.6 Then c.Font.Bold = True
Next
End Sub
Sub compute()
Dim Arr(8) As Single
Dim Average As Single
Dim Std_Dev As Single
Dim Max As Single
Dim Min As Single
For j = 2 To 4
For i = 1 To 8
Arr(i) = Sheets("Sheet2").Cells(i, j)
Next i
Average = Mean(8, Arr)
Std_Dev = StdDev(8, Arr)
Max = Maximum(8, Arr)
Min = Minimum(8, Arr)
Sheets("Winter").Cells(1, j) = Average
Sheets("Winter").Cells(2, j) = Std_Dev
Sheets("Winter").Cells(3, j) = Max
Sheets("Winter").Cells(4, j) = Min
Next j
End Sub
-------------------------------------------
Function Mean(k As Long, Arr() As Single)
Dim Sum As Single
Dim i As Integer
Sum = 0
For i = 1 To k
Sum = Sum + Arr(i)
Next i
Mean = Sum / k
End Function
-------------------------------------
Function StdDev(k As Long, Arr() As Single)
Dim i As Integer
Dim avg As Single, SumSq As Single
avg = Mean(k, Arr)
For i = 1 To k
SumSq = SumSq + (Arr(i) - avg) ^ 2
Next i
StdDev = Sqr(SumSq / (k - 1))
End Function
--------------------------------------------
Function Maximum(k As Long, Arr() As Single)
Dim i As Integer
Dim Max As Single
Max = Arr(1)
For i = 2 To k
If Arr(i) > Max Then
Max = Arr(i)
End If
Next i
Maximum = Max
End Function
------------------------------------------------
Function Minimum(k As Long, Arr() As Single)
Dim i As Integer
Dim Min As Single
Min = Arr(1)
For i = 2 To k
If Arr(i) < Min Then
Min = Arr(i)
End If
Next i
Minimum = Min
End Function
در ابتدا کلید F5را میزنیم تا پنجره زیر نمایش داده شود.
سپس روی Special کلیک می کنیم تا پنجره زیر باز شود
طبق تصویر روی Blank کلیک می کنیم
با این کار تمام نواحی تهی موجود در اکسل انتخاب می شوند.