[[20150522170153]] 『一つのセルの文字を結合されたセルに貼り付ける方』(ミッチー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『一つのセルの文字を結合されたセルに貼り付ける方法』(ミッチー)

1つのセル(アルファベットが一文字)を、2つの結合された別シートのセルに貼り付ける方法を教えてください。

結合されているので、1つのセルをコピーペーストした場合、一文字間隔で貼り付けることはできるのですが、必ずずれてしまうので・・・

文字列は、横にあります。

よろしくお願いいたします。

< 使用 Excel:Excel2010、使用 OS:unknown >


範囲貼り付け等では駄目なので、マクロ利用でいかがです?

 Sub test()

    Dim i As Long

    For i = 1 To Cells(Rows.Count, "C").End(xlUp).Row

        Cells(i, "A").Value = Cells(i, "C").Value

    Next i

 End Sub

(???) 2015/05/22(金) 19:05


 元セルで Ctrl/c。

 転記先の2つの結合セルを選んで、形式を指定して貼り付けで、「数式」貼り付け。

(β) 2015/05/22(金) 19:11


ご回答ありがとうございます。

Aシート:1セルに「C」、「B」、「Z」等文字が入力されています。

Bシート:2セル(結合されています)にAシートの文字「C」、「B」等Aシートと同じ順番で同じ文字を入力したいのですが、そのままコピペをすると「C]、「Z」とペーストされていまい、どうしても「B」が抜けてしまいます。

また、Bシートは他の会社で利用されているシートの為に多くの保護等が掛かっており、マクロも使用できませんでした。

このような状態ですが、何かうまくコピーペーストできる方法はありませんでしょうか?Aシートは自社で使用しているシートなので色々加工できます。

よろしくお願いいたします。

  

Aシート:横カレンダー方式

1 2 3 4 5 6 7 8 9 10

C C B C C C C C C A

 

Bシート:日〜土のカレンダー方式

日 月 火 水 木 金 土

  1 2

 

3 4 5 6 7 8 9

 

10 11 12 13 14 15 16

(ミッチー) 2015/05/25(月) 12:03


 とりあえずの提案。

 結合セルでも同じ形ならコピーペーストできるはずなので、Bシートと同じ表をAシートに作り、

 それをBシートにコピーペーストしたらどうだろう?

 Aシートに日〜土のカレンダーを作成(結合セルも同じに作る)

 横カレンダーからINDEX関数等で引っ張ってきて文字を表示

 例:=INDEX($A$2:$J$2,1,MATCH(U1,$A$1:$J$1,0))

 それをBシートへコピー値だけペースト。

(1111) 2015/05/25(月) 18:00


[1111]さん、新たな提案ありがとうございます。
理屈は分かりましたので、一度色々試してみたいと思います。これでできるといいのですが・・・

これってバグ?エラー?
(デイト) 2015/05/25(月) 18:43

 To (ミッチー)さん

 レスは、コメント欄から書きこんでください。
 編集で、スレのトップに追記すると、スレの表題が、その1行目になってしまいますよ。

 余計なお世話かもしれませんが、補正しておきました。

(β) 2015/05/26(火) 08:47


 ついでに遊びで。(レイアウトがよくわからないのであてずっぽう)

 Sub 遊び()
    Dim dic As Object
    Dim c As Range
    Dim i As Long
    Dim j As Long

    Set dic = CreateObject("Scripting.Dictionary")

    With Sheets("B")
        For i = 2 To 17 Step 3
            For j = 1 To 7
                If Not IsEmpty(.Cells(i, j)) Then Set dic(.Cells(i, j).Value) = .Cells(i, j)
            Next
        Next
    End With

    With Sheets("A")
        For Each c In .Range("A1", .Cells(1, .Columns.Count).End(xlToLeft))
            If dic.exists(c.Value) Then dic(c.Value).Offset(1).Value = c.Offset(1).Value
        Next
    End With

 End Sub

(β) 2015/05/26(火) 09:08


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.