2017-03-21 7 views
0

私はマクロのに新たなんだと1,000以上のラインシートに次のように必要があります。列HからIへの他のすべての行に移動セルデータ及びBでテキストを置換し、C

私はシートを持っていると私他のすべての行を複製して新しい行を変更する必要があります。追加の行を複製する

私はこのマクロを実行します。

Sub CopyRows() 
Dim LR As Long 
Dim i As Long 

LR = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row 

    For i = LR To 2 Step -1 
     Rows(i).Copy 
     Range(Rows(i + 1), Rows(i + 1)).Insert Shift:=xlDown 
     Application.CutCopyMode = False 
    Next i 

End Sub 

私は、ヘッダー行の後に行おきに行う必要がある2つの追加の操作があります。

オペレーション1: カラムBとCでは、テキストを "Bのデータ"と "データのC"に置き換える必要があります。テキストは各置換のために静的です。

操作2: 私はH列内のデータをカットし、このマクロを実行中に任意の助けをいただければ幸いI.

欄に貼り付けする必要があります。

この

は、私は次のように動作するのに必要なものを自分のソリューションがくれた@MortenAnthonsenするために、Excelで2016

私の最終的な解決策のおかげである:

Sub myMaker() 
Dim LR As Long 
Dim i As Long 

LR = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row 

    For i = LR To 2 Step -1 
     Rows(i).Copy 
     Range(Rows(i + 1), Rows(i + 1)).Insert Shift:=xlDown 
     Application.CutCopyMode = False 
    Next i 

For i = 3 To Cells(2, 2).End(xlDown).Row Step 2 
    Cells(i, 2).Value = "B Data" 
    Cells(i, 3).Value = "C Data" 

    Range("H" & i).Select 
    Selection.Cut 
    Range("I" & i).Select 
    ActiveSheet.Paste 

Next i 


End Sub 
+1

イラストやファイルを追加 –

+1

申し訳ありませんが、これは無料のコード作成サービスではないことを伝えなければなりません。あなたがすでに持っているコードを見せることができますので、何が間違っているのかを教えてください。 –

+0

行をスキップしている間にアクティビティを実行する場合は、For ... Nextステートメントを使用する必要があります。 i = 1〜LastRowの場合ステップ2. Forステートメントを調べたら、マクロを書く方が良いはずです。特定のコーディングに関する質問があれば、いつでも投稿できます。走りません。 – Cyril

答えて

1

これはトリックを行う必要があります

Sub operations() 
Dim i As Integer 

For i = 2 To Cells(2, 2).End(xlDown).Row Step 2 
    Cells(i, 2).Value = "data for B" 
    Cells(i, 3).Value = "Data for C" 
Next i 

Range(Range("H2"), Range("H2").End(xlDown)).Cut Destination:= _ 
Range(Range("H2"), Range("H2").End(xlDown)).Offset(0, 1) 

End Sub 
+0

ありがとう、それは私が望んでいたものではありませんでしたが、それは私がそれを働かせるために必要なアプローチを私に与えました、私は私の解決策で質問を編集しました。 – Adrian

関連する問題