いつもお世話になっております。
一つのセルの文字列を分解して別のシートの指定したセルに一文字ずつ入力したいと考えています。
(例)
A B C D E F ・・・・・・・・・・・ AD
1 2014/5/1 ・・・・ 2014/5/6・・・・・・・・・・・2014/5/31
2
3 こ
4
5 ど
6
7 も
8
9 の
別シートには、祝日の一覧が作成してあり、一つのセル"こどもの日"のように入力してあります。
F1のセルが2014/5/6なので、別シートの祝日データからデータをとばして、F3のセルに"こ"、一つ飛ばしてF5のセルに"ど"、F6のセルに"も"のように自動で入力したいのですが(他の祝日も同じく)、そういったことはマクロで可能でしょうか?
よろしくお願いいたします。
No.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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAを使って、値...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel VBA】指定行以降をクリ...
-
TODAY()で設定したセルの日付...
-
【Excel】指定したセルの名前で...
-
特定のセルが空白だったら、そ...
-
エクセルvba:自己セルの情報取...
-
DataGridViewの各セル幅を自由...
-
指定した条件で行セルを非表示...
-
DataGridViewで列、行、セルの選択
-
任意フォルダから画像をすべて...
-
エクセルVBAで結合セルの真ん中...
-
VLOOKUP関数で別ファイルを指定...
-
【VBA】指定したセルと同じ値で...
-
【Excel VBA】C列に"非表示"と...
-
VBA ユーザーフォーム ボタンク...
-
Excelで指定した日付から過去の...
-
セルの値だけクリップボードに...
-
マクロで行がグループ化されて...
-
EXCELのVBA-フィルタ抽出後の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
i=cells(Rows.Count, 1)とi=cel...
-
ExcelVBAを使って、値...
-
【Excel VBA】指定行以降をクリ...
-
特定のセルが空白だったら、そ...
-
EXCELで変数をペーストしたい
-
Excelで指定した日付から過去の...
-
VBAの間違い教えて下さい
-
【Excel】指定したセルの名前で...
-
Excelのプルダウンで2列分の情...
-
エクセルVBAでコピーして順...
-
Excel vbaで特定の文字以外が入...
-
Excel VBA、 別ブックの最終行...
-
【VBA】指定したセルと同じ値で...
-
特定の文字を条件に行挿入とそ...
-
TODAY()で設定したセルの日付...
-
screenupdatingが機能しなくて...
-
VBA初心者です。次のVBAコード...
-
指定した条件で行セルを非表示...
-
VBAでセルをクリックする回...
-
DataGridViewの各セル幅を自由...
おすすめ情報