Excel VBA質問箱 IV

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

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


29650 / 76738 ←次へ | 前へ→

【52365】Re:結合セル
発言  かみちゃん  - 07/11/10(土) 23:56 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>>Worksheets("データ")の「経験年数」は、F列ですか?
>>質問文とシートレイアウトが違うような気がします。
>
>Worksheets("データ")は一列のデータとなっていますので、F列です。

すみません、聞き方を間違えました。

>>Worksheets("名簿")のB列に入力した値とWorksheets("データ")のA列の値を比較
>>
>>Worksheets("データ")
>>  A  B  C  D   E     F
>>1  氏名     雇入年月日 経験年数
>>2
>>3

「データ」シートの「氏名」がA列ではなく、B列のような気がしていまして、
    .Resize(, 4).Value = Ws.Cells(x, 2).Resize(, 4).Value
というコードが「データ」シートのB列から横方向に4列分の値を設定しているような気がします。
特に、
.Resize(, 4).Value
は、「名簿」シートのB列から横方向に4列に値を設定しようとしていますが、
大丈夫ですか?
.Offset(, 1).Resize(, 4).Value
でもなさそうですし、
.Offset(, 1).Resize(, 3).Value = Ws.Cells(x, 3).Resize(, 3).Value
なのでしょうか?

>Worksheets("データ")のE2 → Worksheets("名簿")のE3.E4結合セルに
>Worksheets("データ")のF2 → Worksheets("名簿")のE5.E6結合セルに
>
>作業員名簿の 表は4行 で データは1行 でと言う事です。

これを解決するたには、
    .Offset(2, 3).Value = Ws.Cells(x, 6).Value
というコードを
    .Offset(, 3).MergeArea.Offset(1).Value = Ws.Cells(x, 6).Value
にしてみてください。

今回は、仕方なく結合セルを使いたいとのことですが、
結合セルとVBAの相性は悪いため、なるべくなら、使わないほうがいいかと思います。

0 hits

【52357】結合セル ウッシー 07/11/10(土) 20:30 質問
【52359】Re:結合セル かみちゃん 07/11/10(土) 21:30 発言
【52360】Re:結合セル ウッシー 07/11/10(土) 21:57 質問
【52365】Re:結合セル かみちゃん 07/11/10(土) 23:56 発言
【52370】Re:結合セル ウッシー 07/11/11(日) 12:13 お礼

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