2016-04-14 9 views
-1

ここで小さなヘルプが必要です。ヘッダーの名前は、黄色の強調表示された行です。マスターシートが表示されたら、アドレスがC列にあります。列はD列にある可能性があります。そのため、ヘッダー名を検索して宛先シートにコピーできるコードを調整するのに役立つ人がほしいです。たとえば、選択したヘッダーのみを列全体またはヘッダー行全体にコピーする必要があります。スチューデント名、スチューデントID、およびセクションのみをコピー先シートにコピーする列ヘッダーを検索し、宛先シートにヘッダーをコピー

ご協力いただけると助かります。

Sub test5() 
    Dim Headers As Variant 
    Dim i As Long 
    Dim SourceColumn As Range 
    Dim DestinationSheet As Worksheet 

    Set DestinationSheet = ThisWorkbook.Sheets("destination") 
    Headers = Array("StudentName", "StudentID", "Address") 

    For i = LBound(Headers) To UBound(Headers) 
     With ThisWorkbook.Sheets("Mastersheet").Rows(1) 
      Set SourceColumn = .Find(Headers(i), after:=.Cells(1, 1), MatchCase:=False) 
     End With 

     If Not SourceColumn Is Nothing Then 
      Headers.Copy Destination:=DestinationSheet.Range("A4:G3") 
     End If 
    Next i 

End Sub 

The yellow highlighted Names are the headers

Destination Sheet

+0

を試してみてください。あなたはもっと明確になりますか? 「ヘッダー名が列を変更する」とはどういう意味ですか?マクロを実行した後、あなたが持っているものと望むもののスクリーンショットを追加することは可能ですか? –

+0

@ J.Chomel上記を確認してください。 – lifeinvba

答えて

0

あなたが求めているものは非常に明確ではありません。この

Sub copyheadernames() 

    Sheets("Mastersheet").Range("A1").CurrentRegion.Rows(1).Copy Destination:=Sheets("destination").Range("A1") 

End Sub 
+0

これは行ヘッダー全体を貼り付けるのに役立ちますが、選択したヘッダー行をコピーするだけです。例:StudentName、StudentID、Sectionをコピーして宛先シートにコピーします。どのようにコードを使ってこれを達成するには、同じ – lifeinvba

+0

で私を助けてくれますか?また、選択したヘッダーを「宛先」シートにコピーする必要がありますか?いつも "A1"から始まる? – user3598756

+0

あなたの返信ありがとう、私は選択されたヘッダーをG4にA4行の宛先シートにコピーしたい、コードはまた、ヘッダー名がソースシートに存在するかどうかをチェックし、検証する必要があります – lifeinvba

関連する問題