アプリ版:「スタンプのみでお礼する」機能のリリースについて

A B C
 1月 金額 2月 金額 3月 金額
1 5 100 15 300 ・・
2 3 60 15 300 ・・

という表があります。
この表(シート1)を、別のシート(シート2)にコピーして、
「金額」行の隣に1行追加したいのです。。。

Sub 貼付け()
Sheets("シート1").Select
Cells.Select
  Selection.Copy
  Sheets("シート2").Select
  ActiveSheet.Paste
End Sub
Sub 検索後挿入() 
 Dim objRange As Range
 Set objRange = Columns("2:2").Find("金額")

として、金額を探すまではできました。
金額セルの隣を選択し、3行追加するにはどうしたらいいでしょうか・・。どうぞ宜しくお願いします!

A 回答 (5件)

>言葉足らずで大変失礼しました。


>金額行の、右隣に3行追加、です。
ことば足らずでなく、エクセルの基本的な行と列の表現に混乱している。VBAまでやる方が意外です。
これでは意味がわかりません。行と列を取り違えているのでは。
金額列のすぐ右の列に2列挿入では。
挿入されると左から第2番目の金額の位置がずれてコーディングしにくくなります。
右列から、列挿入をやればどうですか。
Sub test01()
c = Range("Z1").End(xlToLeft).Column
MsgBox c
For i = c To 2 Step -2
Cells(1, i + 1).EntireColumn.Insert
Cells(1, i + 1).EntireColumn.Insert
Next i
End Sub
A1:K1が
ABC1月金額2月金額3月金額
4月金額5月金額
のようにABCがA列、後は月と金額がペアになっているという前提です。
上記の、Z1はデータ列の最右列よりさらに右の列を指定してください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。。
まだまだ理解不足でこれから勉強します。

ご回答ありがとうごさいました。

お礼日時:2007/02/03 09:08

こんばんは。



私も、#2さんと同様に良く分かりません。

>Set objRange = Columns("2:2").Find("金額")

まず、これが分かりません。つまり、タイトル行は、2行目にあるということですか?表と違うようですが。

Find メソッドは、意外に取り扱いがややこしいです。

>金額セルの隣を選択し、3行追加するにはどうしたらいいでしょうか・・。
>金額行の、右隣に3行追加、です。

3列なら意味が分かりますが、その後は、探せなくなるのではありませんか?

結果、どのようになさりたいのですか?
おそらく、

1
2  1月 金額 2月 金額 3月 金額
3  5  100   15   300 ・・
4  3   60   15   300 ・・
        ↑       ↑       ↑
        この部分に、3列入れたいのではありませんか?


Sub ColumnInsert()
Dim i As Integer
Application.ScreenUpdating = False
'2行目で検索
For i = Range("IV2").End(xlToLeft).Column To 1 Step -1
 If InStr(Cells(2, i).Value, "金額") > 0 Then
   '3列追加
   Cells(2, i + 1).Resize(, 3).EntireColumn.Insert
 End If
Next i
Application.ScreenUpdating = True
End Sub
    • good
    • 0
この回答へのお礼

その通りです!!
やりたいことは、金額の右となり列に3行追加です。

教えて頂いた通りにできました!

本当にありがとうございました。

きちんと基本から勉強します、

お礼日時:2007/02/03 07:18

#1です。


Range(Cells(objRange.row,objRange.column+1),Cells(objRange.row+2,objRange.column+1)).Insert Shift:=xlDown
    • good
    • 0
この回答へのお礼

ありがとうございました!

なんとかできました。
Range(Cell・・)とうやり方を覚えました!

ありがとうございました。

お礼日時:2007/02/03 09:10

「金額行の"隣"に」という表現から察するに、「金額"列"の"隣"に」の意味なのでしょうか。

。。
1行目の表示が
[1月][金額][(挿入された列)][2月][金額][(挿入された列)][3月][金額][(挿入された列)]
という感じにしたいということ?

であれば、簡単ですがこんな感じではいけませんか?
Sub 列挿入() 
  Range("C1,E1,G1").EntireColumn.Insert
End sub
勘違いだったらごめんなさい。

なお「金額」という文字列を検索させる意味がよくわかりませんが・・・
    • good
    • 0

「金額セルの隣」とは、左右上下どこでしょうか。

この回答への補足

言葉足らずで大変失礼しました。
金額行の、右隣に3行追加、です。

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

補足日時:2007/02/02 16:34
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!