Excel VBA質問箱 IV

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

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


5692 / 13645 ツリー ←次へ | 前へ→

【49435】空白セル tetu 07/6/5(火) 1:34 質問[未読]
【49436】Re:空白セル Kein 07/6/5(火) 1:50 回答[未読]
【49437】Re:空白セル tetu 07/6/5(火) 2:33 お礼[未読]
【49438】Re:空白セル Kein 07/6/5(火) 2:56 発言[未読]

【49435】空白セル
質問  tetu  - 07/6/5(火) 1:34 -

引用なし
パスワード
   A列  B列  C列  D列   E列
品名 材質  材寸  員数  空白
**** ****  ****  ****  
空白             "在庫"
空白             "入荷数"
**** ****  ****  ****
空白             "在庫"
空白             "入荷数"
**** ****  ****  ****
品名の下は、2行必ず空白があり品名が記入されていたらE列に品名が記入されている下の行に”在庫”"入荷数"
と記入を繰り返すマクロをくみたいです。(品名データーがあるあいだ繰り返し処理)
誰かわかる方おしえてください。よろしくお願いいたします。
PS同じ質問を間違えて目安箱にしてしまいましたこの場を持ってあやまります
すいませんでした。

【49436】Re:空白セル
回答  Kein  - 07/6/5(火) 1:50 -

引用なし
パスワード
   1行目が項目で、2行目からチェックしていけばいいのかな ? それなら・・

Sub Test()
  Dim Rcnt As Long, i As Long
  Dim MyV As Variant

  MyV = WorksheetFunction.Transpose(Array("在庫", "入荷数"))
  Rcnt = Range("A65536").End(xlUp).Row
  Range("E:E").ClearContents
  For i = 2 To Rcnt Step 3
   If Not IsEmpty(Cells(i, 1).Value) Then
     Cells(i + 1, 5).Resize(2).Value = MyV
   End If
  Next i
End Sub

【49437】Re:空白セル
お礼  tetu  - 07/6/5(火) 2:33 -

引用なし
パスワード
   ▼Kein さん:
>1行目が項目で、2行目からチェックしていけばいいのかな ? それなら・・
>
>Sub Test()
>  Dim Rcnt As Long, i As Long
>  Dim MyV As Variant
>
>  MyV = WorksheetFunction.Transpose(Array("在庫", "入荷数"))
>  Rcnt = Range("A65536").End(xlUp).Row
>  Range("E:E").ClearContents
>  For i = 2 To Rcnt Step 3
>   If Not IsEmpty(Cells(i, 1).Value) Then
>     Cells(i + 1, 5).Resize(2).Value = MyV
>   End If
>  Next i
>End Sub
ありがとうございました変数iはすでに使用していたためKに変えてやってみたところ見事にできましたあとTransposeはどのような処理ができますか?
自分でも調べてみますがもしよかったら教えてください。

【49438】Re:空白セル
発言  Kein  - 07/6/5(火) 2:56 -

引用なし
パスワード
   >Transposeはどのような処理
配列の行列変換をしています。一次元の配列は通常 "横並び" になっている、
と考えて下さい。それを "縦のセル範囲" に入れるために、行列変換が必要に
なるのです。

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