2017-04-05 16 views
0

私はあなたが助けてくれることを願っています。私は以下のコードをいくつか持っていて、それはやや働いています。私はそれをもっと必要とするだけです。VBA列見出しに空白のセルを見つけよう

現在、A1からH1の最初の行に沿っています。ブランクセルが見つかった場合は、セル値をブランクセルの左側にコピーし、この値をブランクセルにペーストしてから移動します。

範囲が日々A1からH1に変わることは十分ではありません。最初の行に沿ってデータを持つ最後のセルが見つかるまで空白を探し、コピーと貼り付けのプロセスを開始するまで、コードを調べる必要があります。

また、ピボットを実行してコピーしたセルと貼り付けたものを区別できるように、貼り付けたセルに2を追加するコードも必要です。

私は理解を深めるために下の図を提供しました。最終結果は、そのセルB2がテキスト24が含まれていなければなりません - 会社:ハイアー2及びE2は、テキスト07が含まれています - 製品:ファミリーハイアー2

私のコードは以下の通りですし、いつものように任意のとすべての助けが大いに感謝します。

ピック1

enter image description here

MY CODE

Public Sub BorderForNonEmpty() 
    Dim myRange As Range 
    Set myRange = Sheet1.Range("A1:H1") 
    For Each MyCell In myRange 
     If MyCell.Text = "" Then 
      MyCell.Offset(0, -1).Select 
     ActiveCell.Copy 
     ActiveCell.Offset(0, 1).PasteSpecial (xlPasteAll) 
     End If 
    Next 
End Sub 
+0

最後の列。 .selectとactivecellの使用をやめたい場合は、これもおそらく記録されたマクロです。代わりに、明示的にセルを参照する必要があります。 – Luuklag

答えて

2

以下のコードを試してみてください - コメントはそれぞれ重要な行が何をしているかを示している:あなたがに見たい

Option Explicit 

Sub FillInHeaders() 

    Dim ws As Worksheet 
    Dim lngRowWithHeaders As Long 
    Dim rngHeader As Range 
    Dim rngCell As Range 

    ' get a reference to your worksheet 
    Set ws = ThisWorkbook.Worksheets("SHeet1") 

    ' set the row that the headers are on 
    lngRowWithHeaders = 2 

    ' get the range from A1 to ??1 where ?? is last column 
    Set rngHeader = ws.Cells(lngRowWithHeaders, 1) _ 
     .Resize(1, ws.Cells(lngRowWithHeaders, ws.Columns.Count) _ 
     .End(xlToLeft).Column) 

    ' iterate the range and look for blanks 
    For Each rngCell In rngHeader 
     ' if blank then ... 
     If IsEmpty(rngCell.Value) Then 
      ' get cell value from left and a 2 
      rngCell.Value = rngCell.Offset(0, -1).Value & "2" 
     End If 
    Next rngCell 

End Sub 
+0

こんにちは。お時間をいただきありがとうございます。あなたが私に提供したコードには、セルB2のみが設定されています。私は、探し続けるコードが必要です。空白のヘッダーは、コードを修正することができます。データが入っている最後の列は毎回同じではありません。だから私はそれがQまたはZまたは何かで停止すると言うことができます –

+0

こんにちは - 問題ありません。編集したコードサンプルを参照してください。ヘッダーがある行を設定できます。元の投稿では、写真は1行目にヘッダーが表示されていましたが、ヘッダーが2行目にある可能性があります。正しい行を渡す必要があります。そうしないと、最後の列が自動的に検索されません。 HTH –

+0

こんにちは、ロブ私はB2と間違っています。私はコーヒーが必要。行2は無関係です。あなたが私に与えた編集コードは機能していません。前のコードでは、A1のコピーがB1に必要なものが2つ付属されていました。行1の次の空白のセルに続いていないだけで、B1で停止しています。 –

関連する問題