سؤال

أحاول كتابة رمز VBA الذي سيختار نطاقا اسمه ونسخه ولصقه لعدد معين من الصفوف. ما أحتاج إلى معرفته هو كيفية تحديد نطاق الخلايا المقابلة للأشخاص أعلاه.

على سبيل المثال، لدي مجموعة "myrange" التي تشير إلى: "= $ 1 دولار أمريكي: D $ 1 $، $ F $ 1، $ K $ 1". أريد نسخ هذا ولصقه في "= $ 2 $ 2: D $ 2 $، $ F $ 2، $ K $ 2" بالرجوع إلى "Myrange" في Stead من مراجع الخلايا.

أي مساعدة؟

هل كانت مفيدة؟

المحلول

شيء من هذا القبيل؟

Sub Test()

    Dim oRange As Range
    Set oRange = ActiveSheet.Range("A1:D1") ' Change this to point at the range to be copied

    Dim i As Integer
    For i = 1 To 10
        oRange.Copy
        oRange.Offset(i, 0).PasteSpecial xlPasteAll
    Next i

End Sub

تعديل: حسنا، شيء من هذا القبيل، ثم (للتعامل مع نطاقات ديسكوين):

Sub Test()

    Dim oRange As Range
    Set oRange = ActiveSheet.Range("A1,C1:D1") ' Change this to point at the range to be copied

    Dim i As Integer
    For i = 1 To 10
        Dim oArea As Range
        For Each oArea In oRange.Areas
            oArea.Copy
            oArea.Offset(i, 0).PasteSpecial xlPasteAll
        Next oArea
    Next i

End Sub
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top