- ベストアンサー
VBAコードでセルの値を転記する方法
- Excel VBAを使用して、特定の条件でセルの値を転記する方法について教えてください。
- 複数のセルに同じ値が繰り返し出現する場合、A列に管理番号を付けてセルの値を転記する方法はありますか?
- Cells関数を使用して2次元配列に値を転記する方法についてアドバイスをいただきたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>2次元配列として >resultの値を >result = 結果(debug.print 結果) >として この部分の意図がよくわかりませんが 以下のコードのような解を求めていますか? Option Explicit Sub sample() Dim wkData Dim r As Long Dim n As Long Dim m As Long r = 1 n = 1 m = 1 Do If Cells(r, 1).Value = "" Then Exit Do wkData = Cells(r, 1).Value Cells(r, 1).Value = "'" & n & "-" & m r = r + 1 If wkData = Cells(r, 1).Value Then m = m + 1 Else m = 1 n = n + 1 End If Loop End Sub
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
Resizeなんていっているが、言いだす意味が判らない。 完成形をデータ例として挙げてください。 ==== データが変わると大区分番号を換える。データが前行と同じ同じ場合は小区分を1増やす。 小生もやってみると、似たやり方だと思うが 例データ B列B2より aaaaa aaaaa aaaaa bbbbb bbbbb bbbbb bbbbb bbbbb bbbbb ccccc ccccc ーー 標準モジュールに ub test01() endr = Range("b100000").End(xlUp).Row MsgBox endr n1 = 1: n2 = 0 '--- mae = Cells(2, "B") '--- For i = 2 To endr If Cells(i, "B") = mae Then n2 = n2 + 1 Cells(i, "A") = Str(n1) & "-" & Str(n2) Else n1 = n1 + 1 n2 = 1 Cells(i, "A") = Str(n1) & "-" & Str(n2) End If mae = Cells(i, "B") Next i End Sub 結果 A2:B12 1- 1 aaaaa 1- 2 aaaaa 1- 3 aaaaa 2- 1 bbbbb 2- 2 bbbbb 2- 3 bbbbb 2- 4 bbbbb 2- 5 bbbbb 2- 6 bbbbb 3- 1 ccccc 3- 2 ccccc ===== これを A B C D E F 列 aaaaa aaaaa aaaaa bbbbb bbbbb bbbbb bbbbb bbbbb bbbbb ccccc ccccc のように、表データを組み替えたいのか?
お礼
すいません。 現状完成形を説明するとかなり細かい話になります。 こちらで考えてみます。
お礼
すいません。 現状うまく説明できそうもないので こちらで考えてみます。