• ベストアンサー

EXCELでこの日付の間に空白のセルをいれたいんで

EXCELでこの日付の間に空白のセルをいれたいんですが どうやればいいですか? 300行位あります

この投稿のマルチメディアは削除されているためご覧いただけません。

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.7

回答No.1の記載忘れです。 空白セルの追加ではなく行の追加でしたら .Cells(mRow, "A").Insert Shift:=xlDown のところを .Rows(mRow).Insert に変更してください。

その他の回答 (6)

  • NuboChan
  • ベストアンサー率47% (785/1650)
回答No.6

VBAでのアプローチ。 Option Explicit Sub InsertBlankRows() Dim lastRow As Long Dim i As Long ' A列の最終行を取得 lastRow = Cells(Rows.Count, "A").End(xlUp).Row ' 下から上に向かって処理 For i = lastRow To 2 Step -1 ' 現在の行と1つ上の行の間に空白行がない場合 If Cells(i, 1).Value <> "" And Cells(i - 1, 1).Value <> "" Then ' 現在の行の上に空白行を挿入 Rows(i).Insert Shift:=xlDown End If Next i End Sub

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.5

簡単に出来ますよ。 A列全体を選択(←出来ますか?)⇒Ctrl+Cをパシーッ(コピーの実行)⇒マウスの右クリック⇒[貼り付けのオプション]直下の[123](値)アイコンをツン オ・シ・マ・イ これでお好みの「日付の間に空白のセルを」挿入できますよッ! 》 300行位あります それっぽっちですか?問題ないです。ただし、1048576行もあっちゃダメですけど。

noname#262573
質問者

お礼

やったんですが何もなりませんでした

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.4

回答No.2の追加です。 7日26日のように空白セルで囲まれているセルがある場合 冗長かもしれませんが B1に =IF(A1="","",COUNT($A$1:A1)) として下にコピー C1に =INDIRECT("A"& MATCH(ROW(B1),B:B,0)) として下にコピーしていったん途中の空白セルを詰めます D1に =C1 D2はそのまま D3に =IF(D2=INDIRECT("C" & ROW(A3)-(INT(ROW(A1)/2)+1)),"",INDIRECT("C" & ROW(A3)-(INT(ROW(A1)/2)+1))) として下にコピーすれば一つ飛ばしでデータが表示されます。

  • SI299792
  • ベストアンサー率47% (772/1616)
回答No.3

もし、画像の様に日数分空白を開けたいなら、関数でやる場合、 B1: =IF(COUNTIF(A:A,A$1+ROW()-1),A$1+ROW()-1,"") 下へコピペ。 入力はA列。表示はB列になります。 (A列に空白があってもいいです)

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.2

回答No.1の追加です。 元のデータが17日26日のように空白セルで囲まれているところが無く間無しで連続で並んでいるのでしたら B1に =A1 として B2は飛ばして B3に =IF(B2=INDIRECT("A" & ROW(A3)-(INT(ROW(A1)/2)+1)),"",INDIRECT("A" & ROW(A3)-(INT(ROW(A1)/2)+1))) として下にコピーすれば 一つ飛ばしでデータが表示されますからコピーして値貼り付けすれば間に空白のセルができます。

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

A列の全ての日付の間に空白セルを入れます。既に空白で囲まれている所はもとのままです(17日と26日のところ) Sheet1を本来のシート名に変更してください。 Sub Test() Dim mRow As Long, LastRow As Long With Sheets("Sheet1") LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row For mRow = LastRow To 2 Step -1 If .Cells(mRow, "A").Value <> "" And .Cells(mRow - 1, "A").Value <> "" Then .Cells(mRow, "A").Insert Shift:=xlDown End If Next End With End Sub

関連するQ&A