選択した行を複数列の複数選択リストボックスから自分のシートにコピーするコードが見つかりました。最初に選択した行をコピーする場所をセルに設定するにはどうすればよいですか?セルを選択してデータをコピー
Excelの列は変更できますが、行は変更できません。それは、常に「行をループ」の責任変数はLbcopy
で、(たとえばA1またはB1のための)最初のあなたのコードで
Dim Litem As Long, LbRows As Long, LbCols As Long
Dim bu As Boolean
Dim Lbloop As Long, Lbcopy As Long
Dim m As Variant
LbRows = ListBox2.ListCount - 1
LbCols = ListBox2.ColumnCount - 1
For Litem = 0 To LbRows
If ListBox2.Selected(Litem) = True Then
bu = True
Exit For
End If
Next
If bu = True Then
With ActiveSheet.Range(sCell).End(xlUp) 'sCell is the selected Cell
For Litem = 0 To LbRows
If ListBox2.Selected(Litem) = True Then 'Row selected
'Increment variable for row transfer range
Lbcopy = Lbcopy + 1
For Lbloop = 0 To LbCols
'Transfer selected row to relevant row of transfer range
.Cells(Lbcopy, Lbloop + 1) = ListBox2.List(Litem, Lbloop)
Next Lbloop
End If
Next
For m = 0 To LbCols
With ActiveSheet.Range(sCell).End(xlUp)
End With
Next
End With
Else
MsgBox "Nichts ausgewählt", vbCritical
End If
こんにちは、スタックオーバーフローを歓迎:開始行を決定する
一つの方法は、このように、
For Litem = 0 To LbRows
前に変数の初期値を割り当てることです。あなた自身でコードを読んで理解し、ここに質問を投稿する前にあなた自身で変更を行いましたか?もしそうなら、あなたはなぜ成功できなかったのですか?それをやろうとしたときに何が起こったのですか? –こんにちは、はい、私はそれを理解しようとしており、すべてそれを変更しました。選択した行がコピーされる範囲を変更しましたが、これは行ではなくシートの列にのみ影響します。行がどこに定義されているのか分かりません。私はVBAの方がやや新しいです。 – Morris
'Lbcopy'は、あなたがもっとよく見てみるべき変数です。 –