ش | ی | د | س | چ | پ | ج |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
در Vba ویژگی UsedRange محدوده ای از WorkSheet که داده در آن قرار دارد را ارائه می کند و از اولین سلول در WorkSheet جایی که مقداری است شروع شده و تا آخرین سلولی که مقدار وجود دارد ختم می شود.
In VBA, the UsedRange property represents the range in a worksheet that has data in it. The usedrange starts from the first cell in the worksheet where you have value to the last cell where you have value.
میشود از Clear و Copy با یک نقطه بعد از آن کل محدوده را پاک یا به جای دیگری انتقال داد.
ActiveSheet.UsedRange.Clear
Or
ActiveSheet.UsedRange.Copy
در تصویر اول با توابع If و CountA صورت گرفته ، طبق فرمول اگر در رنج A2 تا D2 کانت سلول برابر صفر بود کلمه Blank و یک بود Not blank در ستون E قید گردد.البته بعد از نوشتن فرمول در سلول E2 حتما کنترل و اینتر را بزنید تا عمل بنماید.
در تصویر دوم کالمن A را انتخاب کرده ، دکمه Ctrl بهمراه G را گرفته و از پنجره بازشو Special را انتخاب نموده و باز هم از پنجره بازشوی بعدی رادیو باتن Blanks را انتخاب و اقدام به فشردن باتن Ok کرده که نتیجتا سلول های خالی در ستون A انتخاب شده ( یک تصویر قبل از تصویر آخر ) سپس کلیک راست کرده و در پنجره Delete رادیو باتن کل ردیف یا Entite Row را انتخاب نموده ، بعد از فشردن باتن Ok ردیف های خالی حذف شده اند.( تصویر آخر )
فرض کنید در سل خاصی مقداری را وارد می کنید و می خواهید بعد از مقدار دادن یک ردیف جدید ایجاد گردد. در کد زیر اگر insert در سلول b2 تا b20 وارد شود یک ردیف جدید ایجاد می گردد.
در کد زیر Date در ستون A درج میشود و اگر چیزی در ستون B وارد کنید از Row 2 آغاز می شود.
کد زیر : فرض شده در ستونی کد A تا فرضا D ( به تعداد دلخواه و نامرتب یا سورت نشده ) و مقدارشان هم در ستون کناری قید گردیده در ستون های دیگر قرار است کد یونیک و کنارش جمع کد یونیک ها زده شود ... ممکن است کد نیاز به دستکاری داشته باشد ولی راهکار همین است.درستون A و ردیف یک آیتم های A تا D به تعداد دلخواه و نامرتب وارد شود و کنارشان اعداد دلخواه.
Sub CountCodes()
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
Dim wbk As Workbook
Dim ws As Worksheet
Dim wsRow As Long, newRow As Long Dim Names() As String
Dim Found As Boolean
Dim Cell As Range
Set wbk = ThisWorkbook
Set ws = wbk.Worksheets(1)
ReDim Names(0 To 0) As String
newRow = 1
With ws
گرفتن آخرین ردیف در ستون A
در پائین لوپی زده شده در آرایه از پائین ترین سطح تا بالاترین ، از AutoFilter برای فیلتر کردن ستون A1 استفاده شده و یکی یکی مقادیر داخل آرایه در شرط آن قرار میگیرد
کد زیر یک Blank Line در زیر ردیفی که مقدارصفر در ستون مربوطه وارد میشود ایجاد میکند.
Sub BlankLine()
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId= "Relax"
Set WorkRng= Application.Selection
Set WorkRng=Application.InputBox("Range", xTitleId, WorkRng.Address, Type: = 8)
Set WorkRng= WorkRng.Columns(1)
xLastRow= WorkRng.Rows.Count
Application.ScreenUpdating = False
For xRowIndex = xLastRow To 1 Step - 1
Set Rng= WorkRng.Range("A" & xRowIndex)
If Rng.Value = "0" Then
Rng.Offset(1, 0).EntireRow.Insert Shift: = xlDown
End If
Next
Application.ScreenUpdating = True
End Sub
دوستان گل تمامی کدها از سایت ها استخراج شده جهت سهولت کاری شما عزیزان لطفا لطفا در نظر سنجی شرکت کنید
.