Excel VBA質問箱 IV

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

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


13298 / 13644 ツリー ←次へ | 前へ→

【6082】文字列をばらして使いたい。 さる 03/6/16(月) 11:29 質問
【6086】Re:文字列をばらして使いたい。 つん 03/6/16(月) 12:11 回答
【6088】Re:文字列をばらして使いたい。 こうちゃん 03/6/16(月) 13:11 回答
【6093】Re:文字列をばらして使いたい。 さる 03/6/16(月) 13:41 お礼

【6082】文字列をばらして使いたい。
質問  さる E-MAIL  - 03/6/16(月) 11:29 -

引用なし
パスワード
   お久しぶりにお世話になります。

Sheet1で作った住所録を、Sheet2の宛名印刷シートで印刷できるようにしたいのです。

Sheet1のC列に入っている郵便番号をSheet2へ表示して印刷するのですが、
そのままコピーではなく、Sheet2のC2,D2,E2に上3桁、
G2、H2,I2,J2に下4桁を入れたいのですが可能でしょうか?

ハイフンはSheet2にコピーしません。

どなたかご教授よろしくお願いします。

【6086】Re:文字列をばらして使いたい。
回答  つん E-MAIL  - 03/6/16(月) 12:11 -

引用なし
パスワード
   さる さん、こんにちは

こんな感じでしょうか?

Sub test()

  Dim strZip As String
  Dim i As Long
  
  strZip = Worksheets("Sheet1").Cells(1, 3).Value
  
  For i = 1 To 8
    If i <> 4 Then
      Worksheets("Sheet2").Cells(2, i + 2).Value = Mid(strZip, i, 1)
    End If
  Next i
    
End Sub

多分、郵便番号はずっとリストになってると思いますが、
とりあえず、一個だけの処理。
リストすべて処理したいときは、変数をもう一個増やして、
ループで回してください。

【6088】Re:文字列をばらして使いたい。
回答  こうちゃん E-MAIL  - 03/6/16(月) 13:11 -

引用なし
パスワード
   さるさん、つんさん、こんにちは

>Sheet1で作った住所録を、Sheet2の宛名印刷シートで印刷できるようにしたいのです。
>
>Sheet1のC列に入っている郵便番号をSheet2へ表示して印刷するのですが、
>そのままコピーではなく、Sheet2のC2,D2,E2に上3桁、
>G2、H2,I2,J2に下4桁を入れたいのですが可能でしょうか?

計算式じゃだめですか?
C2〜E2およびG2〜J2セルに以下の式を入力してみてください。
(3列目以降も同一の式でOK)
=IF(LEN(Sheet1!$C2),MID(Sheet1!$C2,COLUMN()-2,1),"")

【6093】Re:文字列をばらして使いたい。
お礼  さる E-MAIL  - 03/6/16(月) 13:41 -

引用なし
パスワード
   つんさん、こうちゃんさん、こんにちは。

ありがとうございました。できました。
また機会がありましたら、ご教授よろしくお願いします。

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