2017-10-06 144 views
0

我想轉換這些值。VBA Excel - 將列值轉換爲另一列插入空白行

假設在A1:A20有20個值,在B1:B20也有20個值。

我想以這樣的方式來複制塔B的值這一結果應該是:

細胞A1值爲A1,細胞A2值爲B1,細胞A3值爲A2,單元格A4值是B1

同樣在單元格A40中的值是B20。 (爲了更清晰,我附上了圖像)

所以這裏的第一步是在列A 中交替插入blanck單元,並且在該空白單元格中複製列B的值。

爲了更清楚,請找圖像

 example

+5

聽起來不錯。你爲什麼不開槍呢,然後回過頭來解決你的任何具體問題,那麼我們很樂意幫助你。 –

+0

好主意..但這裏有些技術人員沒有詢問任何歷史就解決了我的問題。 3人爲他們歡呼! – user8731454

回答

-1

總是張貼你先試過的東西!

Sub test() 

    Application.ScreenUpdating = False 

    Dim i As Long 
    For i = 2 To 20 Step 2 
     Sheets("Sheet1").Range("A" & i).EntireRow.Insert 
    Next i 

    Sheets("Sheet1").Range("B1:B40").copy 
    Sheets("Sheet1").Range("A2").PasteSpecial Paste:=xlPasteAll, SkipBlanks:=True 

    Application.ScreenUpdating = True 

End Sub 
+0

非常感謝。我試過了,它的工作正常。 B列電池的顏色爲綠色。那麼是否有可能讓B的屬性(lyk bkgrnd color,font color ..)也被複制? – user8731454

+0

我已經更新了代碼,基本上你需要使用xlPasteAll來粘貼不同於只粘貼值的初始代碼的所有內容。 –

+0

@Downvoter - 請留下評論,因爲它會幫助我正確地塑造我的答案。 –

0

也許這不是你正在尋找的,但另一種解決方案是使用像下面的常規公式。

=IFERROR(INDEX($A$2:$B$9,ROUNDDOWN(ROW()/2,0),ISODD(ROW())+1),"") 

但是,這不會給你正在尋找的顏色。只是拋出另一種方法供您參考。

+0

感謝您的回覆..但我想使用單元格的值,因爲它是..意味着需要字體顏色,細胞bkgrnd的顏色也。這是客戶的要求。 – user8731454

+0

圖,所以這只是供您參考。 VBA是您實現目標的唯一途徑。 – ian0411