[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『20文字以上入っているセルを2つ以上に分けたい』(初心者)
こんにちは
1つのセルに20文字以上入っているものを16文字目からから次のセルに移動させたいのですが どうやったらいいかわかりません。 マクロの使い方を知らないので 分かりやすくお願いします。
あと 住所を区切り位置で分けると文字化け?みたいになってしまい 1−1−1などとあったものが 日付になっていたりします。 そちらの直し方も教えて下さい。
よろしくお願いします。
上の文章をコピーして、EXCELのシートに貼り付けます。 列幅を400ピクセルにして、文字入力セルと下に余分の空白セルを選択して(10行程度) 編集メニューのフィル→文字の割付をクリックすれば複数行に分けられます。 (シニア)
数値Likeなデータが日付や数値になってしまう場合は 区切り位置ウィザードの3/3の画面で 日付などに変換されてしまう列のデータ形式を「文字列」 に指定するとうまくいきませんか。 (KAMIYA)
初心者さん、どうでっか、もう作業は完結でっか? あんさんのスレ、今日見つけたもんで、もう済んどるかも知れへんけど一応書 いときまっさ。まぁ、暇がでけたら遊んでみておくんなはれ。
Alt+F11でVBEが開きますさかいな、 「挿入」→「標準モジュール」をクリックしておくんなはれ。 そこへ下に書いたあるコードをコピペするんですわ、えぇ。 次はAlt+Qでエクセルに戻ります。
このプロシージャはアクティブなシートに有る20文字以上の文字列をあんさんのご要 望通りの作業をやってくれまんねんけど、必要な範囲のみの作業やったら、チョッとコ ードを変えなあきまへんのんで、その折りは仰有っておくんなはれ。 ほな、うまいこといくように...(弥太郎)
'------------------ Sub main() Dim maxrow As Long, maxcol As Long Dim n As Long Dim i As Integer Dim t As Variant maxrow = ActiveSheet.UsedRange.Rows.Count maxcol = ActiveSheet.UsedRange.Columns.Count
For n = maxcol To 1 Step -1
For i = 1 To maxrow If Cells(i, n + 1) = "" And Len(Cells(i, n)) >= 20 Then On Error Resume Next t = Mid(Cells(i, n), 16, 1) On Error GoTo 0 If Application.IsNumber(t) Then Cells(i, n + 1) = "'" & Mid(Cells(i, n), 16, 240) Else Cells(i, n + 1) = Mid(Cells(i, n), 16, 240) End If End If Next i Next n
End Sub
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.