सवाल एक्सेल (2003) मैक्रो में अनुक्रमिक संख्या वाले कक्ष भरना


मुझे 500 से 1000 तक इस मामले में एक अनुक्रमिक श्रृंखला के साथ एक एक्सेल कॉलम भरना होगा। मुझे ऐसा करने के लिए एक मैक्रो मिला है, लेकिन ऐसा लगता है कि यह एक ऐसा कार्य होना चाहिए जो कुछ ऐसा लगता है [ कुछ FillRange (ए 2: ए 1502, -500, 1000, 1)] की तरह। लेकिन अगर वह कार्य मौजूद है, तो मुझे यह नहीं मिल रहा है। क्या यह सरल और सुरुचिपूर्ण जैसा है?

'Draw X axis scale
Cells(1, 1).Value = "mV"
Cells(2, 1).Value = -500
Cells(3, 1).Value = -499
Cells(4, 1).Value = -498

Dim selection1 As Range, selection2 As Range

Set selection1 = Sheet1.Range("A2:A4")
Set selection2 = Sheet1.Range("A2:A1502")

selection1.AutoFill Destination:=selection2

2
2018-02-27 00:58


मूल




जवाब:


Range("A1")=-500
Range("A1").Select
Selection.DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, _
        Step:=1, Stop:=500, Trend:=False

4
2018-03-01 13:58



वास्तव में जो मैं खोज रहा था - धन्यवाद! - Fred Hamilton


Sub FillASeries()

    With Sheet1.Range("a1")
        .Value = -500
        .AutoFill .Resize(1501, 1), xlFillSeries
    End With

End Sub

मुझे नहीं लगता कि एक समारोह है, लेकिन यह उतना छोटा है जितना कि मैं प्रक्रिया कर सकता हूं।


5
2018-02-27 14:30



यह बहुत अच्छा है, धन्यवाद! - Fred Hamilton


जो आप खोज रहे हैं वह एक समारोह नहीं है।

ए -2 में टाइप -500 और "Ctrl + Enter" टाइप करें (वह संख्या स्वीकार करता है और सेल का चयन करता है)

फिर "संपादन" मेनू पर जाएं -> "भरें" -> "श्रृंखला"

"श्रृंखलाएं" को "कॉलम" पर सेट करें

1000 पर "स्टॉप वैल्यू" सेट करें

"ठीक" दबाएं और आपके पास इच्छित परिणाम होगा।


2
2018-02-27 02:50





Sub Test()

    Call NumberSeriesI(Sheet1.Range("A1"), "MySeries", -1000, 500, 1)

End Sub

Sub NumberSeriesI(StartCell As Range, Header As String, FirstN As Integer, LastN As Integer, StepN As Integer)

' Integer version

    Dim i As Integer ' Value
    Dim r As Integer ' row

    StartCell.Cells(1).Value = Header ' Cells(1) makes sure it only uses the first cell of passed-in range,
                                        ' in case you pass in a multi-celled range for StartCell
    i = FirstN
    r = 1

    Application.ScreenUpdating = False ' Much faster, so the screen is not refreshed until all the values in place

    For i = FirstN To LastN Step StepN
        StartCell.Cells(1).Offset(r, 0).Value = i
        i = i + StepN
        r = r + 1
    Next i

    Application.ScreenUpdating = True

End Sub ' NumberSeriesI

0
2018-03-26 16:14