ایجاد یک ستون جدید

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • amir0914

    • 2015/09/20
    • 67

    [حل شده] ایجاد یک ستون جدید

    با عرض سلام. دوستان من یک برنامه ای با vba اکسل نوشتم یادم رفته بود یک ستون رو بعد از ستون E وارد کنم حالا اگر یک ستون کنارش insert کنم کل آدرس دهی ستون ها و فرمول ها عوض میشود، راه حل بهتری برای این مورد دارید یا باید دوباره از اول برای ستون ها جدید آدرس دهی کنم؟
  • majid_mx4

    • 2012/06/25
    • 699

    #2
    با سلام

    دوست عزیز البته شما بایدتغییراتی در کد خود بدهید ولی یکبار برای همیشه و با تغییر ستون دیگر نیازی به تغییر دستورات نیست اگر آدرس دهی شما بر مبنای سر تیتر ستون باشد در دستور زیر نام ستون مورد نظر Name در نظر گرفته شده است حال با پیدا کردن آدرس آن میتوانید (بطور خلاصه با بردگرداندن آدرس هدر تغییرات مورد نظر را در آن محدود اعمال میکنید و یا از آدرس آن برای دیگر تغییرات استفاده میکند .) بطور اتوماتیک دستورات و تغییرات را اعمال میکنند.

    کد:
    Sub columnAddress()
        Dim ws As Worksheet
        Dim lRow As Long
        Dim aCell As Range, rng1 As Range
        '~~> ست کردن شيت مربوطه
        Set ws = ThisWorkbook.Sheets("Sheet1")
        With ws
            '~~> دررديف دنبال چه چيزي بگردد
            Set aCell = .Range("A1:Z1").Find("Name")
            '~~>اگر پيدا کرد
            If Not aCell Is Nothing Then
                '~~> اگر آن ستون داري يک رديف یا محتوي بيشتر از یک ردیف باشد
                lRow = .Range(Split(.Cells(, aCell.Column).Address, "$")(1) & .Rows.Count).End(xlUp).Row
                If lRow >= 1 Then
                    '~~> ست کردن محدود مربوطه
                    Set rng1 = .Range(aCell.Offset(1), .Cells(lRow, aCell.Column))
                    '~~> برگرداندن آدرس مورد نياز
                   ' Debug.Print rng1.Address
                    MsgBox rng1.Address
                End If
            End If
        End With
    End Sub
    موفق باشید میر
    Last edited by majid_mx4; 2017/06/02, 03:09.

    کامنت

    چند لحظه..