Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


61242 / 76732 ←次へ | 前へ→

【20113】Re:列の結合について
回答  かみちゃん  - 04/11/28(日) 19:05 -

引用なし
パスワード
   こんにちは。かみちゃん です。

横から失礼します。

>そしてまたお聞きしたいのですが、B列ではなくF列をA列に足すときは
>
>どこをどう変えたらいいでしょうか?

ichinoseさんが提示されたコードは、B列から1行目の最右端列までの列すべてを処理対象としています。
これをF列からとするには、
  For idx = 6 To limc
とします。

なお、解説は、以下のとおりです。

Option Explicit

Sub main()
  Dim limc As Long, idx As Long
  Dim strow As Long
  Dim r_cnt As Long
   
  '1行目の最右端のセルの列番号を取得
  '取得した列までを繰り返して処理する
  limc = Cells(1, Columns.Count).End(xlToLeft).Column
  '1列目(A列)の最下行の次行の行番号を取得
  '取得した行を2列目(B列)以降各列の貼り付け開始位置とする。
  strow = Cells(Rows.Count, 1).End(xlUp).Row + 1
  '2列目(B列)から1行目の最右端の列番号までを1列ずつ処理する。
  For idx = 2 To limc
   '処理対象列の最下行を取得する。
   r_cnt = Cells(Rows.Count, idx).End(xlUp).Row
   '1行目から処理対象列の最下行までの値を
   '1列目の貼り付け開始位置から処理対象行数の範囲に貼り付ける
   Range(Cells(strow, 1), Cells(strow + r_cnt - 1, 1)).Value = _
       Range(Cells(1, idx), Cells(r_cnt, idx)).Value
   '処理対象範囲をクリアする。
   Range(Cells(1, idx), Cells(r_cnt, idx)).ClearContents
   '貼り付け開始位置をずらす
   strow = strow + r_cnt
  Next
End Sub

1 hits

【20099】列の結合について タヌキ 04/11/28(日) 7:04 質問
【20100】Re:列の結合について ichinose 04/11/28(日) 10:02 回答
【20112】Re:列の結合について タヌキ 04/11/28(日) 18:36 質問
【20113】Re:列の結合について かみちゃん 04/11/28(日) 19:05 回答
【20120】Re:列の結合について タヌキ 04/11/28(日) 22:21 お礼

61242 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free