• ベストアンサー

VBA(エクセル)でコピー+文字を足す

Wendy02の回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

こんにちは。 あまり話が見えていないけれど、こういうのはどうかな? >行番号が振ってある一番左のセルを押すだけで実行できるとか・・・ 灰色の行番号のところをクリックします。 Sheet2には、A列の上から下にコピーされていきます。 Private Sub Worksheet_SelectionChange(ByVal Target As Range)   Dim rng As Range   Dim Sh2 As Worksheet   Dim c As Range   Set Sh2 = Worksheets("Sheet2")   If Not Target.Address Like "$#*:$#*" Then Exit Sub   If Not IsNumeric(Target.Cells(1, 1).Value) Or _   IsEmpty(Target.Cells(1, 1).Value) Then Exit Sub   With Sh2.Range("A1", Sh2.Range("A65536").End(xlUp))    If IsEmpty(.Value) Then      .Value = "成績 第" & Target.Cells(1, 1).Value & "位"      Else      .Offset(1).Value = "成績 第" & Target.Cells(1, 1).Value & "位"    End If   End With   Set Sh2 = Nothing End Sub

関連するQ&A

  • VBA(エクセルで改行したもの→改行なしでコピー)

    VBAでシート1の指定セルの内容をシート2の指定セルにコピーするプログラムをつくりました。 a.Cells(r, 1).Copy Sheets("Sheet2").Range("A1") こんな感じです。 これだとシート1で1つのセル内で改行してると、そのままの状態でシート2にコピーされてしまいます。 これをシート1では改行されていますが、シート2では改行なしで出力したいのです。 こんなプログラムを組むことは可能なのでしょうか? 知っている方がいましたらお願いします。知恵を貸してください。 本当に困っています。

  • VBAを使って一つのセル内で文書を改行

    現在VBAを使ってシート1の内容をシート2にコピーさせるもの作りました。↓ s.Cells(r, 1).Copy Sheets("Sheet2").Range("A1") これでさらにシート2にコピーしたないようは 同じセル内で改行したいのです。 いわばAlt+Enterキーみたいな機能なのですが・・・ つまり出力がシート1の指定セルの内容が 『新年あけましておめでとう』なのですが、シート2は 『新年あけまして  おめでとう』という内容を出力したいのですが、 改行のプログラムはわかりますでしょうか??m(_ _)m 簡単なプログラムでもいいのです。 もしわかれば他にも応用したいので、この例で行くと『て』という文字を判別して『て』という文字があったらその文字のあとを改行させたいのですができますでしょうか?

  • エクセルVBAで選択していないシートのセルコピー

    エクセルVBAで質問させてください。 現在選択していないシートから、セルの書式ごとコピーして貼り付けたいのです。 たとえば Sheets(1).Range(Cells(1, 1), Cells(4, 1)).Copy Sheets(2).Range("A1") 等とすると、Sheets(2)が選択されている状態だとエラーになってしまいます。 おそらく、Copyメソッドというのは、選択されているシートにのみ有効だからなのではないか、と思いますが、セルの値だけでなくフォントその他の書式を、別のシート(現在アクティブでない)から持ってくる方法はありますか?

  • VBA(エクセル)で『17.10.11』を『平成17年10月11日』の変換出力

    エクセルのVBAでプログラムをつくりました。 その内容はシート1でいくつかセルに値を入力した後、 マクロを実行すると指定したセルのそのままの内容が、シート2へコピーされるというものです。 そこで『日付』を入力する欄があるのですが、 そこには『17.10.11』と入力する欄があるのです。 これをシート2へコピー出力するときに 『平成17年10月11日』という風に方変換して 出力したいのです。どうすればいいでしょうか? どうか教えていただけたらうれしいです。 ちなみにコピープログラムはこんな感じにしています s.Cells(r, 1).Copy Sheets("Sheet2").Range("A1") A1セルに日付を入れる欄があるのでここを型変換して出力したいのです。助けてください。

  • Excel VBA 指定シートの取込

    こんにちは。 ExcelのVBAを使用して、異なるBookのシートを取込みたいのですが、 シートが無かった場合の処理方法がわかりません。 現在のコードは下記の様になっております。 With Workbooks.Open"BOOK1.xls" .Worksheets("Sh1").Cells.Copy ThisWorkbook.Sheets("Sheet1").Range("A1") .Worksheets("Sh2").Cells.Copy ThisWorkbook.Sheets("Sheet2").Range("A1") .Worksheets("Sh3").Cells.Copy ThisWorkbook.Sheets("Sheet3").Range("A1") .Close End With Book1に指定したシートが無い場合、何もしないようにしたいのですが、 どの様に書き換えれば宜しいでしょうか? よろしくお願いします。

  • VBAのCopyコマンドについて

    エクセルVBAでシート3のRangeの値をからシート2のRangeへデータをコピーしようとしているのですが Sheets(3).Range("B3:B100").Copy _ Sheets(2).Range(Cells(3, col2 - 1), Cells(100, col2 - 1)) がうまくいって、 Sheets(3).Range(Cells(2, col1), Cells(100, col1)).Copy _ sheets(2).Range(Cells(2, col2), Cells(100, col2)) が何故、オブジェクト定義エラーになってしまうのがわかりません。 col1、col2は列の変数です。 よろしくお願いします。

  • Excel 2007 VBAで セル内数値の反映が出来ません

    Excel 2007 VBAで セル内数値の反映が出来ません プログラム中に、セルの数値を参照したいのですが、うまく行きません。 下記にて、コピー元セル指定の範囲指定が、+H3 が反映できません。                          ↓  Sheets("会員台帳").Select              Range(Cells(CopymotoRS, 62), Cells(CopymotoRS + H3 - 1, 71)).Select Application.CutCopyMode = False Selection.Copy

  • VBAの全シートコピー

    VBAの全シートコピー シート1~4まであるとします プログラムで全シートを順番に読んでいきます。 シート1で範囲を決めてコピーします。コピーはRange(Cells(2, 1), Cells(??, 10)).Copy を使いたいです。違う方法があるなら。 そしてシート4に貼り付けます。 そして次にシート2を読む・・・同じ そしてシート3を読む・・・同じ そんなプログラムがほしいです。 分かるかた知恵を貸してください。 お願いします。

  • エクセルVBAでコピー

    エクセルVBAでのコピーについての質問です。 ブック1 とブック2があります。 ブック1 のSheet1 内にマクロ含むワークシートを 新規ブックにファイル名を指定して 下記のようなプログラムでコピーしようとすると (標準モジュール1の内容) Sub newfilesave() MsgBox "デスクトップの「○○」フォルダに控え○○_日付時間.xlsxファイルを生成します。" Sheets("受付仕分リスト").Copy ActiveSheet.Cells.Copy ActiveSheet.Cells.PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False ActiveSheet.Range("A1").Select 'マクロなしのエクセルデータとして名前を付け、ファイル形式も決めてデスクトップに日付を付けて保存する。。 ActiveWorkbook.SaveAs _ Filename:="C:\Users\user\Desktop\○○\○○_" & Format(Now(), "yyyymmdd_hhmm"), _ FileFormat:=xlOpenXMLWorkbook End Sub Sheet1 内にマクロの内容までコピーされてしまいます。 ブック1のレイアウトや書式などはそのままに マクロ部分だけを取り除いてコピーするには どのような流れでプログラムすればいいでしょうか? よろしくお願いします。

  • エクセルVBAでコピーすると行の高さが低くなる

    いつもお世話になってます。 エクセル2003のVBAで、セルの範囲を指定してコピーすると行の高さが低くなってしまいます。その他の書式は、変化せずうまくコピーできています。以下がプログラムです。 Sub copy_hyou() Worksheets("sheet1").Activate Range("A1:K24").Copy 'セルA1からK24をコピーします。 Range("A25").Select 'A25からペイストします。 ActiveSheet.Paste End Sub どう直せば、行の高さもコピーできるでしょうか? お休み中すみませんがよろしくお願いいたします。