Guest User

Untitled

a guest
Jan 24th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.47 KB | None | 0 0
  1. Sub test()
  2.  
  3. Dim datash As Worksheet
  4. Dim datarng As Range
  5. Dim tsh As Worksheet
  6. Dim startrng As Range
  7. Dim startrng2 As Range
  8. Dim endrng As Range
  9. Dim endrng2 As Range
  10. Dim copyrng As Range
  11. Dim r2 As Range
  12. Dim locatefirstcategory As Range
  13. Dim L As Long
  14. Dim startrng3 As Range
  15. Dim cell As Variant
  16.  
  17.  
  18.  
  19.  
  20. Set datash = ActiveSheet
  21.  
  22. ' copying demographics range
  23.  
  24. Set datarng = datash.Cells(6, 2)
  25. Set startrng = datarng
  26.  
  27.  
  28. Do Until datarng = ""
  29.  
  30. Set datarng = datarng.Offset(1, 0)
  31.  
  32. Loop
  33.  
  34. Set endrng = datarng(0, 1)
  35.  
  36. datash.Range(datash.Cells(startrng.Row, datarng.Column), datash.Cells(endrng.Row, datarng.Column)).Select
  37.  
  38. Sheets("Data").Activate
  39.  
  40. datash.Range(datash.Cells(startrng.Row, datarng.Column), datash.Cells(endrng.Row, datarng.Column)).Copy Destination:=Sheets("Data").Range("C2")
  41.  
  42.  
  43. ' copying the measure values
  44.  
  45. Sheets("DEMO FOOD+OIL").Activate
  46.  
  47. Dim rng2 As Range
  48.  
  49.  
  50. Set rng2 = datash.Cells(5, 3)
  51. Set startrng2 = rng2
  52.  
  53.  
  54. Dim measurestr As String
  55. Dim periodstr As String
  56.  
  57.  
  58. measurestr = rng2(0, 1).Value
  59. periodstr = rng2.Value
  60.  
  61. Dim rng3 As Range
  62. Set rng3 = Sheets("Data").Cells(2, 4)
  63.  
  64.  
  65.  
  66. Do Until rng2 = ""
  67.  
  68. ' checking is there's a measure above the period.
  69. ' if not, look for the measure above the 1st period
  70.  
  71. Sheets("DEMO FOOD+OIL").Activate
  72.  
  73.  
  74. ' moving 1 column to the right, selecting it and copying the measure data
  75.  
  76. datash.Range(datash.Cells(startrng.Row, rng2.Column), datash.Cells(endrng.Row, rng2.Column)).Select
  77.  
  78. Sheets("Data").Activate
  79.  
  80. datash.Range(datash.Cells(startrng.Row, rng2.Column), datash.Cells(endrng.Row, rng2.Column)).Copy Destination:=Sheets("Data").Range("D2")
  81.  
  82. Set rng2 = rng2.Offset(0, 1)
  83.  
  84. Sheets("DEMO FOOD+OIL").Activate
  85.  
  86. Loop
  87.  
  88. Stop
  89.  
  90.  
  91. 'copying the period
  92.  
  93. Dim datarng2 As Range
  94.  
  95.  
  96. Sheets("Data").Activate
  97.  
  98. Set datarng2 = ThisWorkbook.Worksheets("Data").Cells(2, 2)
  99.  
  100. Do Until datarng2.Offset(0, 1) = ""
  101.  
  102. datarng2.Value = periodstr
  103.  
  104. Set datarng2 = datarng2.Offset(1, 0)
  105.  
  106. Loop
  107.  
  108. Stop
  109.  
  110.  
  111. Sheets("DEMO FOOD+OIL").Activate
  112.  
  113. 'selecting the category in order to paste it to the Data sheet
  114. 'Dim rng3 As Range
  115. Dim categorystr As String
  116.  
  117.  
  118. Set rng3 = datash.Cells(4, 2)
  119. 'Set startrng3 = rng3
  120.  
  121. categorystr = rng3.Value
  122.  
  123.  
  124.  
  125. ' pasting the black Category to the datasheet next to the period
  126.  
  127. Sheets("Data").Activate
  128.  
  129. Dim datarng3 As Range
  130.  
  131. Set datarng3 = ThisWorkbook.Worksheets("Data").Cells(2, 1)
  132.  
  133.  
  134. Do Until datarng3.Offset(0, 1) = ""
  135.  
  136. datarng3.Value = categorystr
  137.  
  138. Set datarng3 = datarng3.Offset(1, 0)
  139.  
  140. Loop
  141.  
  142. Stop
  143.  
  144. End Sub
Add Comment
Please, Sign In to add comment