- ベストアンサー
一つのセルの文字列を分解して別のシートへ
- 一つのセルの文字列を分解して別のシートの指定したセルに一文字ずつ入力する方法について教えてください。
- 別のシートにある祝日データを使用して、一つのセルの文字列を分解し、指定したセルに一文字ずつ自動で入力する方法を知りたいです。
- マクロを使用して、一つのセルの文字列を分解し、別のシートの祝日データを参照しながら、指定したセルに一文字ずつ自動で入力することは可能でしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! >F1のセルが2014/5/6なので・・・ 「こどもの日」は5月5日でお示しの配列だとE列になり、F列は振替休日だと思います。 それはさておいて、↓の画像のようなデータをSheet2に作成しておくとします。 Sheet1の1行目にシリアル値が入っているとしてのコードです。 標準モジュールです。 Sub Sample1() Dim i As Long, j As Long, lastRow As Long, lastCol As Long Dim str As String, c As Range, wS As Worksheet Set wS = Worksheets("Sheet2") With Worksheets("Sheet1") lastRow = .UsedRange.Rows.Count lastCol = .UsedRange.Columns.Count If lastRow > 1 Then Range(.Cells(2, 1), .Cells(lastRow, lastCol)).ClearContents End If For j = 1 To lastCol Set c = wS.Cells.Find(what:=.Cells(1, j), LookIn:=xlValues, lookat:=xlWhole) If Not c Is Nothing Then str = wS.Cells(c.Row, "A") For i = 1 To Len(str) With .Cells(2 * i + 1, j) .Value = Mid(str, i, 1) .HorizontalAlignment = xlCenter End With Next i End If Next j End With End Sub ※ 関数でないのでSheet1のデータ変更があるたびにマクロを実行する必要があります。m(_ _)m
お礼
ご回答ありがとうございました。 無事に解決することができました!