Guysこれらのファンキーなvbaコマンドについて助けが必要です。 私は最初にlabownik-mil-2dl8.xlsと2番目のzestawienie.xlsという2つのスプレッドシートを持っています。最初の行を選択して2番目のものにコピーしますが、A1からA1にはコピーしない行をいくつか選択します。したがって、私の選択が5270から5273までの行であれば、たとえばE5272をD7に、AK5272をE7にしたいと考えています。 2番目のスプレッドシートのボタンを押して(最初にスプレッドシートで選択するだけで)それができたらいいですか? Makroは2番目のスプレッドシートの最初の空の行に貼り付ける必要があります。 私はこのようなものがあります:選択したデータを、あるセルから別のブックにコピーします。
Sub Get_Data()
Dim lastrowDB As Long, lastrow As Long
Dim arr1, arr2, i As Integer
With Sheets("zestawienie")
lastrowDB = .Cells(.Rows.Count, "D").End(xlUp).Row + 1
End With
arr1 = Array("E", "AK", "B", "D", "F", "G", "H")
arr2 = Array("D", "E", "F", "H", "L", "M", "N")
For i = LBound(arr1) To UBound(arr1)
With Sheets("Labownik")
lastrow = Application.Max(3, .Cells(.Rows.Count, arr1(i)).End(xlUp).Row)
.Range(.Cells(3, arr1(i)), .Cells(lastrow, arr1(i))).Copy
Sheets("zestawienie").Range(arr2(i) & lastrowDB).PasteSpecial xlPasteValues
End With
Next
Application.CutCopyMode = False
End Sub
をしかし、両方のシートを1つのファイルにある場合、それが唯一の働いている、とmakroは選択から全体ではなく、データをコピーされます。私はそれを適切に行う方法は知らない。
英語は母国語ではありませんが、読みにくいのは残念です。
は、あなたはそれが両方のワークブックで作業する方法を知っているだろうように、ワークブックオブジェクトを追加する必要があり、事前に