• ベストアンサー

エクセルVBA

  A  B  1 12  12 2 25  3 28 4 89 A列の数字を、1行目から順番にB1に表示していきたいのですが、 どのような構文になるでしょうか。 12 25 28 89 といった具合です。 A列の数字や行数はそのつど変化します。 ご教授宜しくお願い致します。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

> ちなみにこの数字が変化する毎に > そのシートをプリントアウトしたい場合は Do Loop構文でやってみました。 Sub test01() Dim c As Range Set c = Range("A1") Do While c.Value <> "" Range("B1").Value = c.Value ActiveSheet.PrintOut Set c = c.Offset(1, 0) Loop End Sub

sMyamYs
質問者

お礼

出来ました。ありがとうございました! VBAは本当に難しいですが、勉強頑張ります!

その他の回答 (3)

  • WWolf
  • ベストアンサー率26% (51/192)
回答No.3

こんにちは、下記のロジックはモジュールにコピペして実行してください。 1秒間隔でA列を1行目から順にB1に表示していきます。 Sub a() LR = ActiveSheet.Range("A65536").End(xlUp).Row For i = 1 To LR ActiveSheet.Range("B1").Value = ActiveSheet.Cells(i, 1).Value Application.Wait (Now + TimeValue("0:00:1")) Next End Sub

sMyamYs
質問者

補足

ありがとうございます! 思っていた通りの事が出来ました。 ちなみにこの数字が変化する毎に そのシートをプリントアウトしたい場合は どのようにすればよいでしょうか。

  • suz83238
  • ベストアンサー率30% (197/656)
回答No.2

A1から表示したいところまで範囲を選択し、下記を実行。 B1に表示されます。 ところで、質問の「順番に」というのはB1,C1,D1...のことだったら違いますけど。 Sub xxx() a = "" For Each sh In Selection a = a & sh.Value & " " Next MsgBox a Range("B1").Value = a End Sub

sMyamYs
質問者

補足

ご回答ありがとうございます。 一度に全ての値を表示するのではなく、 A1の値を表示→A2の値を表示→・・・ というようにどんどん数字を変化させていきたいのです。

  • AKI78
  • ベストアンサー率30% (9/30)
回答No.1

B1のセルから=A1と入れていくだけで良いのでは・・・? B2のセルなら=A2という感じで。

sMyamYs
質問者

補足

B1のみにA列の値を順番に表示していきたいのです。 数字がどんどん変化していく感じです。 Sheets("Sheets1").Cells(1, 2).Value = Range("A1").End(xlDown) Sheets("Sheets1").Cells(1, 2).Value = Range("A1").End(xlDown) - 1 Sheets("Sheets1").Cells(1, 2).Value = Range("A1").End(xlDown) - 2 ・・・・ このような感じです。 もっときれいな構文に出来ないでしょうか。

関連するQ&A