2015-02-24 8 views
0

Привет Я хочу, чтобы данные в базе данных нижекопия строки, если ID пустой с VBA

ID Name Card No 
1 A  3 
      2 
2 B  1 
3 C  1 
      2 

быть как

ID Name Card No 
1 A  3 
1 A  2 
2 B  1 
3 C  1 
3 C  2 

Использование Excel макросы .. пожалуйста, помогите спасибо: D

Обновление, мои данные похожи на этот файл и только отладчик A & B столбец

Col->A B  C   D 
Row 
7 ID Name Address Card No 
8 1 A    3 
9       2 
10 2 B  X road 1 
11 3 C  Y road 1 
12       2 

Как это исправить? пожалуйста, помогите :(и это началось в строке 7

+2

Покажите нам, что вы попробовали. – shauryachats

ответ

0

Простой, но ниже кода будет делать работу:

. Примечание: Ниже код принимает ваш «Колонка C» не имеет никаких пустых ячеек Если вы, пожалуйста, добавьте комментарии, так что я могу обновить

Sub copyPaste() 
Dim lastRow As Long 

lastRow = Range("C" & Rows.Count).End(xlUp).Row '<- Column that there is no empty cells 

For i = 1 To lastRow 
    If Range("A" & i).Value = "" Then 
     Range("A" & i).Value = Range("A" & i).Offset(-1, 0).Value 
    End If 
    If Range("B" & i).Value = "" Then 
     Range("B" & i).Value = Range("B" & i).Offset(-1, 0).Value 
    End If 
Next 
End Sub 

UPDATE:.. Ниже код будет делать ту же работу для всех столбцов в книге код предполагает, что в первой строке листа у вас есть заголовки и использует эту информацию вычислить, сколько итераций делать для столбцов.

Sub copyPaste() 
Dim lastRow As Long 
Dim lastCol As Long 

lastRow = Range("C" & Rows.Count).End(xlUp).Row '<- Column that there is no empty cells 
lastCol = Cells(1, Columns.Count).End(xlToLeft).Column 

    For j = 1 To lastCol 
     For i = 1 To lastRow 
      If Cells(i, j).Value = "" Then 
       Cells(i, j).Value = Cells(i, j).Offset(-1, 0).Value 
      End If 
     Next i 
    Next j 
End Sub 
+0

Да, это работает благодаря мужчине! Но могу ли я повторить A & B, потому что моя длина столбца до «BD» –

+0

Привет, рад, что сработал. Для этого есть 2 способа. 1 вы можете добавить функцию IF для каждой строки (что не желательно) 2. Мы можем добавить еще один цикл для прохождения всех столбцов. Я могу помочь вам о втором. Однако мне нужно знать, есть ли какой-либо столбец, который никогда не будет иметь пустую ячейку, поэтому мы можем использовать ее в качестве ссылки повторения. Конечно, мне нужно знать, в какой колонке это. – Dubison

+0

и другой вопрос есть. что бы вы хотели сделать, если первая строка пуста. В этот момент вы не можете скопировать значение сверху справа? – Dubison

Смежные вопросы