Excel VBA質問箱 IV

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

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


9430 / 13646 ツリー ←次へ | 前へ→

【27408】空白セルを埋めるには・・・ 空欄が苦手 05/8/8(月) 15:22 質問[未読]
【27409】Re:空白セルを埋めるには・・・ ちくたく 05/8/8(月) 15:55 回答[未読]
【27410】Re:空白セルを埋めるには・・・ ichinose 05/8/8(月) 15:58 発言[未読]
【27423】Re:空白セルを埋めるには・・・ 空欄が苦手 05/8/9(火) 7:00 お礼[未読]

【27408】空白セルを埋めるには・・・
質問  空欄が苦手  - 05/8/8(月) 15:22 -

引用なし
パスワード
   こんにちわ。
派遣先の会社の基幹システムは融通がきかず、データを抽出するとグループ化して出てきて、そのうえ同じコードなのであれば省略してしまいます。

言葉では説明しにくいので・・・

エクセルに貼り付けたときのイメージ

得意先コード   電話番号    住所     売上高
111111      xxx-9999   ほにゃら県   99999円
空欄        空欄     空欄     88888円
222222      ooo-5555   なんか県    66666円
空欄        空欄     空欄     12345円
空欄        空欄     空欄     54321円
333333      ***-1111    謎々県    78945円


といった感じで、私が作りたいのはこの空欄達をボタン一発で埋めたいのです。
ただ単に一つ上のセルをコピーではだめなのはわかりますが、どうしていいのかはわかりません。

お助けください。

【27409】Re:空白セルを埋めるには・・・
回答  ちくたく  - 05/8/8(月) 15:55 -

引用なし
パスワード
   考え方としては下みたいなことで、
上から順繰りにやればいいんじゃないかな、と思います。

Sub 空白セルに一個上のものを入れる()

  Dim myCell As Integer
  
  For myCell = 1 To 100
  
    If Range("A" & myCell).Value = "" Then
      Range("A" & myCell).Value = Range("A" & myCell - 1).Value
    End If
    
  Next myCell
  
End Sub

あとは、range("A65536").End(XlUp).Rowとかで、ループの回数を取得するとか。
Range(Cells(x,y), Cells(x,y))とかでくるくるまわしてやればいいかと。

▼空欄が苦手 さん:
>こんにちわ。
>派遣先の会社の基幹システムは融通がきかず、データを抽出するとグループ化して出てきて、そのうえ同じコードなのであれば省略してしまいます。
>
>言葉では説明しにくいので・・・
>
>エクセルに貼り付けたときのイメージ
>
>得意先コード   電話番号    住所     売上高
>111111      xxx-9999   ほにゃら県   99999円
>空欄        空欄     空欄     88888円
>222222      ooo-5555   なんか県    66666円
>空欄        空欄     空欄     12345円
>空欄        空欄     空欄     54321円
>333333      ***-1111    謎々県    78945円
>
>
>といった感じで、私が作りたいのはこの空欄達をボタン一発で埋めたいのです。
>ただ単に一つ上のセルをコピーではだめなのはわかりますが、どうしていいのかはわかりません。
>
>お助けください。

【27410】Re:空白セルを埋めるには・・・
発言  ichinose  - 05/8/8(月) 15:58 -

引用なし
パスワード
   ▼空欄が苦手 さん:
こんにちは。

>派遣先の会社の基幹システムは融通がきかず、データを抽出するとグループ化して出てきて、そのうえ同じコードなのであれば省略してしまいます。
>


>
>エクセルに貼り付けたときのイメージ
>
>得意先コード   電話番号    住所     売上高
>111111      xxx-9999   ほにゃら県   99999円
>空欄        空欄     空欄     88888円
>222222      ooo-5555   なんか県    66666円
>空欄        空欄     空欄     12345円
>空欄        空欄     空欄     54321円
>333333      ***-1111    謎々県    78945円
>
>
>といった感じで、私が作りたいのはこの空欄達をボタン一発で埋めたいのです。
埋めた結果も記述して下さい(わかるだろうと思ってもです)。
標準モジュールに

'================================================================
Sub test()
  Dim rng As Range
  On Error Resume Next
  Set rng = Range("d1", Cells(Rows.Count, 4).End(xlUp)).Offset(0, -3).Resize(, 3).SpecialCells(xlCellTypeBlanks)
  With rng
    .Formula = "=r[-1]c"
    For Each crng In .Areas
     crng.Value = crng.valie
     Next
    End With
End Sub

として、対象シートをアクティブにして試してみて下さい。

細かいエラー処理はしていませんが・・・、
確認して下さい。

【27423】Re:空白セルを埋めるには・・・
お礼  空欄が苦手  - 05/8/9(火) 7:00 -

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

文句無しの物が作れました!
本当にありがとうございました!

今後は変更後の表もちゃんと書くようにします。

本当にありがとうございます!!


>こんにちは。
>
>>派遣先の会社の基幹システムは融通がきかず、データを抽出するとグループ化して出てきて、そのうえ同じコードなのであれば省略してしまいます。
>>
>
>
>>
>>エクセルに貼り付けたときのイメージ
>>
>>得意先コード   電話番号    住所     売上高
>>111111      xxx-9999   ほにゃら県   99999円
>>空欄        空欄     空欄     88888円
>>222222      ooo-5555   なんか県    66666円
>>空欄        空欄     空欄     12345円
>>空欄        空欄     空欄     54321円
>>333333      ***-1111    謎々県    78945円
>>
>>
>>といった感じで、私が作りたいのはこの空欄達をボタン一発で埋めたいのです。
>埋めた結果も記述して下さい(わかるだろうと思ってもです)。
>標準モジュールに
>
>'================================================================
>Sub test()
>  Dim rng As Range
>  On Error Resume Next
>  Set rng = Range("d1", Cells(Rows.Count, 4).End(xlUp)).Offset(0, -3).Resize(, 3).SpecialCells(xlCellTypeBlanks)
>  With rng
>    .Formula = "=r[-1]c"
>    For Each crng In .Areas
>     crng.Value = crng.valie
>     Next
>    End With
>End Sub
>
>として、対象シートをアクティブにして試してみて下さい。
>
>細かいエラー処理はしていませんが・・・、
>確認して下さい。

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