私のプロジェクトでは、フォルダ内のファイルから1つのExcelにデータをコピーします。フォルダ内のファイルには行のデータがあり、1つのExcel(DataBase Excel)にデータを転記する必要があります。私は必要なものに非常に近いいくつかのコードを見つけました。私はそのコードを修正して私のために働こうとしています。私は下のコードでdestrangeを変更する必要があるように見えますが、動作させるための調整はできません。VBA:1つのブックから別のブックに範囲データを置き換えます。
完全なコードはここで見つけることができます:http://www.rondebruin.nl/win/s3/win008.htm
私は列に行からのデータを転置するために何をしないのです?
If Not sourceRange Is Nothing Then
SourceCcount = sourceRange.Columns.Count
If Cnum + SourceCcount >= BaseWks.Columns.Count Then
MsgBox "Sorry there are not enough columns in the sheet"
BaseWks.Columns.AutoFit
mybook.Close savechanges:=False
GoTo ExitTheSub
Else
'Copy the file name in the first row
With sourceRange
BaseWks.Cells(1, Cnum). _
Resize(, .Columns.Count).Value = MyFiles(Fnum)
End With
'Set the destrange
Set destrange = BaseWks.Cells(2, Cnum)
'Set destrange = BaseWks.Range("A" & 1)
'we copy the values from the sourceRange to the destrange
With sourceRange
Set destrange = destrange. _
Resize(.Rows.Count, .Columns.Count) '.PasteSpecial Paste:=xlValues, Transpose:=True
'destrange.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
End With
destrange.Value = sourceRange.Value
Cnum = Cnum + SourceCcount
End If
End If
mybook.Close savechanges:=False
End If
"destrange.Value = WorksheetFunction.Transpose(SourceRange.Value)"これは私にエラーメッセージを表示しませんでしたが、同じ行数の各行に最初の値を入れました。例:行1に「テストエリア」を入れて転置したい20行がありました。新しいエクセル(デステージ)A2:A21にはすべて「テストエリア」がありました。 –
@MichaelKappコメントは質問ですか、声明ですか? –
質問です。トランスポーズ機能は(I)のように機能しませんでした。私はそれが正しく動作するように助けが必要です。また、de Bruinがコピーメソッドを使用していないと言ってください。彼はどのような方法を使っていますか? Googleに何をするのかわからない。 –