Excel VBA質問箱 IV

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

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


26013 / 76736 ←次へ | 前へ→

【56059】Re:列の削除について
お礼  クリシュナ  - 08/5/31(土) 10:57 -

引用なし
パスワード
   ▼kanabun さん:

>あと、手順を変えて、
>
> → 1行目で 最終列を求め、その右となりの列に
>   各行の 最終データを Copyする
>
>という風にも 考えられませんか?
 こういう考え方もあったのですね。まったく思いつきませんでした。
 
>
>Sub Try1()
> Dim LastCol As Long
> Dim wkCol As Long
> 
> LastCol = Range("IV1").End(xlToLeft).Column '1行目の最後の(日付)データの列番号
> wkCol = LastCol + 1       'その右隣り(この列に最後のデータを転記)
> 
> Dim LastRow As Long
> Dim c As Range         '最終行まで 対象列にデータ書き込みLoop
> LastRow = Range("A65536").End(xlUp).Row
> For Each c In Range(Cells(2, wkCol), Cells(LastRow, wkCol))
>  c.Value = c.End(xlToLeft).Value
> Next
> 
> Range("B1", Cells(1, LastCol)).EntireColumn.Select
> If MsgBox("転記が完了しました。データ列を削除しますか?", _
>   vbOKCancel) = vbOK Then
>   'Selection.Delete '指定列を削除
> End If
> 
>End Sub

 これで解決できました。私のマクロをよく見るとiとjが誤っていただけのようにも思われますが、処理速度が遅かったため、kanabunさんの方法の方が数段優れていることもわかりました。まことにありがとうございました。
0 hits

【56036】列の削除について クリシュナ 08/5/30(金) 1:10 質問
【56040】Re:列の削除について ひげくま 08/5/30(金) 9:14 発言
【56060】Re:列の削除について クリシュナ 08/5/31(土) 11:08 質問
【56043】Re:列の削除について kanabun 08/5/30(金) 11:10 発言
【56059】Re:列の削除について クリシュナ 08/5/31(土) 10:57 お礼

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