2016-05-03 4 views
0

i Daten in sheet1 als Show haben unterBericht in Excel erstellen, indem Sie alte Daten von anderen Blatt mit

 A   B   C   D   E   F   G 
1 C.NO  DATE  STATION  AGENT NARRATION  CASH  DUE 
2 100  01/04/16 KKR   ABC  7145   $1100  $500 
3 101  01/04/16 BHL   XYZ  9999   $1500  $100 
4 102  02/04/16 RTM   BCD  6792   S1000  $50 

jetzt i Bericht in sheet2 wollen, wie unten

A   B   C   D   E   F   G 
1 DATE  LD  AMOUNT  NARRATION TYPE     C.NO 
2 01/04/16 CASH  -$1100  7145  CCC      100 
3    ABC  -$500     CCC  
4    KKR  $1600     CCC 
5 01/04/16 CASH  -$1500  9999  CCC      101 
6    XYZ  -$100     CCC 
7    BHL  $1600     CCC 
8 02/04/16 CASH  -$1000  6792  CCC      102 
9    BCD   -$50     CCC 
10    RTM  $1050     CCC 

in diesem abc, xyz & bcd sind Agenten, die Schuldner sind kkr, bhl & rtm sind Quelle des Einkommens Bargeld, die durch diese Durchtrennung sammeln coloumn "f" ist leer bitte geben Sie mir V BA CODE Blatt für dieses Problem

Antwort

0
Sub transform() 

Dim firstrow1, lastrow1 As Integer 
Dim lastrow2 As Integer 
Dim ws1, ws2 As Worksheet 



    Set ws1 = ThisWorkbook.Worksheets("Sheet1") 
    Set ws2 = ThisWorkbook.Worksheets("Sheet2") 

    With ws2 

     .Range("A1").Value = "DATE" 
     .Range("B1").Value = "LD" 
     .Range("C1").Value = "AMOUNT" 
     .Range("D1").Value = "NARRATION" 
     .Range("E1").Value = "TYPE" 

     .Range("G1").Value = "C.NO" 

    End With 


    With ws1 

     firstrow1 = 2 
     lastrow1 = .Range("A1000000").End(xlUp).Row 

     For i = firstrow1 To lastrow1 

      lastrow2 = ws2.Range("B1000000").End(xlUp).Row 

      ws2.Range("A" & lastrow2 + 1).Value = .Range("B" & i).Value 
      ws2.Range("B" & lastrow2 + 1).Value = "CASH" 
      ws2.Range("C" & lastrow2 + 1).Value = "'-" & .Range("F" & i).Value 
      ws2.Range("D" & lastrow2 + 1).Value = .Range("E" & i).Value 
      ws2.Range("E" & lastrow2 + 1).Value = "CCC" 
      ws2.Range("G" & lastrow2 + 1).Value = .Range("A" & i).Value 

      ws2.Range("B" & lastrow2 + 2).Value = .Range("D" & i).Value 
      ws2.Range("C" & lastrow2 + 2).Value = "'-" & .Range("G" & i).Value 
      ws2.Range("E" & lastrow2 + 2).Value = "CCC" 

      ws2.Range("B" & lastrow2 + 3).Value = .Range("C" & i).Value 
      ws2.Range("C" & lastrow2 + 3).Value = "'$" & Val(Mid(.Range("F" & i).Value, 2, Len(.Range("F" & i).Value) - 1)) + Val(Mid(.Range("G" & i).Value, 2, Len(.Range("G" & i).Value))) 
      ws2.Range("E" & lastrow2 + 3).Value = "CCC" 

      'lastrow2 = lastrow2 + 3 'alternative 
      lastrow2 = ws2.Range("B1000000").End(xlUp).Row 

     Next i 

    End With 

End Sub 

Hoffe, das hilft!

+0

Wenn dies für Sie funktioniert, akzeptieren Sie dies bitte als Antwort. – Sun

+0

funktioniert es richtig, wie ich will, aber ein kleines Problem ist: in Sheet2 Column "c", Zeile 3 Menge ist die Summe von row1 & row2.you vba etwas anderes tun. Die Summe von Zeile 1 und Zeile 2 in Zeile 3 der Spalte "c". Bitte löse es. – SACHIN

+0

Bei mir geht es gerade so ... Das Problem ist wohl, wie du deine Zahlen in diesem Format anzeigen lässt: - $ #### – Sun

Verwandte Themen