2017-09-21 26 views
0

セルA1からM1への値を連結する必要があるという要件があります。シートは動的です。VBAを使用してExcelで連結して文字列に出力する

セルA1からM1の値をVBAを使用して文字列に連結しようとしています。

これを行う方法?シートは動的なので、私が範囲を選択するときに、シートにもコード内で言及したいと思います。

これはExcelが、マクロを生成する方法である私は、セルN1に連結、

ActiveCell.FormulaR1C1 = "=CONCAT(RC[-13]:RC[-1])" 

感謝をすれば。親切にあなたの考えを共有してください。

+0

ような何か? –

+0

buシートが動的であることを意味しますか?同じスプレッドシート内に新しいシートを作成するか、毎回シートの名前を変更するだけですか? – ian0411

+0

私は実際にシート名を世話することができます。シートに記載されているシートがSheet1などであるVBAコードを指定した場合。そのちょうど、シート名を変更するだけで、別の文字列に出力したいのです。 – Sid29

答えて

4

あなたが別のセルに、コードで、シート名を持っています。この

Sub Demo() 
    Dim ws As Worksheet 
    Dim cel As Range 
    Dim str As String 
    Set ws = ThisWorkbook.Sheets("Sheet4") 'change Sheet4 to your data sheet 
    For Each cel In Range(ws.Range("A1"), ws.Range("M1")) 
     str = str & cel.Value 
    Next cel 
    Debug.Print str 
End Sub 
+1

はい、私が実際に望んでいただけです。ありがとう:) – Sid29

1

シート名を数式に追加したいだけの理由がわかりません。

With ActiveCell 
    .FormulaR1C1 = "=CONCAT(" & .Parent.Name & "!RC[-13]:RC[-1])" 
End With 
関連する問題