• ベストアンサー

エクセルでのセルの移動

VBを使って、セルに文字が入っているまで処理をして 右にセルを移動させたいのですがどの様にすれば いいのでしょうか?教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんばんは。 それでしたら、#1 の方の r = ActiveCell.Row Do While Cells(r,j).Value ="" '処理 j= j + 1 Loop とすればよいのでは? (一応、Cells(r,j)は、プロパティを明示的に入れさせていただきました。)

treckersumiko
質問者

お礼

ありがとうございました。 うまくいきました!! VBはあんまりやったことがないので もう少し勉強します!

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

下記の意味でしょう。 Sub test01() c = Worksheets("sheet1").Range("IV1").End(xlToLeft) MsgBox c For i = 1 To c '(処理) Next i End Sub データの入っている最右列まで何か処理をする。 多数行の場合はCurrentRegionやUsedRangeなどが使えないかを調べてください。 ダメなら上記を全行にわたって行い、それらのMAX値を取る。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 元のご質問が具体的ではないので、私にはよく意味が分かりません。 ご自身が何かされようとしているのなら、その中途のコードをみせていただけませんか? 単に、右にのセルに移動なら、 .Offset(, 1).Select ということですが、まさか、こんな初歩的なことをお聞きになっているとは思いませんので。

treckersumiko
質問者

補足

こんにちは。回答ありがとうございます。 私の質問がわかりづらくてすみません。 単に右にセルを移動して、移動したセルに 何らかのデータが入っていれば 処理を行うという事をやろうとしてます。 知識不足ですみません‥‥

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 そのデータの一番上にセルポインタを置いてから、[マクロ]-[マクロ]-TestSample クリックすれば、そのデータは右隣に移動します。 Sub TestSampe() With Range(ActiveCell, ActiveCell.End(xlDown))   .Copy ActiveCell.Offset(, 1)   .ClearContents End With End Sub

treckersumiko
質問者

補足

ご回答ありがとうございます。 私の説明不足だったのですが、 セルのデータをコピーするのではなく、 セルの移動のみ行いたいんです‥‥

  • fly_moon
  • ベストアンサー率20% (213/1046)
回答No.1

Do While Cells(i,1)="" 処理      i=i+1 Loop こんな感じでどうでしょう?

treckersumiko
質問者

補足

回答ありがとうございます。 私も回答して頂いた様な方法でやってみたのですが、 iにはアルファベットが入るので+1しても うまくいきませんでした!

関連するQ&A