Vba动态粘贴

时间:2018-02-18 14:58:45

标签: excel vba excel-vba

我想通过vba编码在excel中粘贴数据,但问题是我在底部有一个公式部分,由于某种原因,我需要在公式部分上面保留两个空白行。

例如:我的公式位于@Override protected void onPostExecute(Void result) { super.onPostExecute(result); ListAdapter adapter = new SimpleAdapter(work.this, contactList, R.layout.list_item, new String[]{ "email","description","name","county","phone"}, new int[]{R.id.email, R.id.description, R.id.name,R.id.county,R.id.telephone}); lv.setAdapter(adapter); lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { //itemList = findViewById(R.id.itemView); final LinearLayout ex; ex = findViewById(R.id.expandable); ex.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED); int newHeight = ex.getMeasuredHeight() * 3; ValueAnimator slideAnimator = ValueAnimator.ofInt(0, newHeight); slideAnimator.setInterpolator(new DecelerateInterpolator()); slideAnimator.setDuration(300); slideAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { ex.getLayoutParams().height = (int) animation.getAnimatedValue(); ex.requestLayout(); } }); slideAnimator.start(); } }); } 。空行为Row 20&amp; 18

然后我有数据40行数据。因此,如果我尝试粘贴,它也会覆盖公式行。

因此,我正在寻求VBA中的任何功能,以保持这些公式行“活着”并自动插入行,方法是识别复制数据被粘贴所需的行。

1 个答案:

答案 0 :(得分:0)

好,因为你没有打扰我,我不打算给你答案。但是,我会告诉你你需要注意什么来为自己弄清楚。

1)了解如何使用行和已用过的列数。例如:

 ThisWorkbook.Sheets("Sheet1").UsedRange.Rows.Count

2)了解如何根据捕获的使用范围值移动公式。在您的示例中,由于两个空白行,然后是公式行,因此它将为+3。你最有可能使用:

 .PasteSpecial xlPasteFormula

3)了解如何移动当前的单元格,特别是使用范围。您会注意到我使用Cells函数来创建我的范围。这很可能对您有用,因为您需要将动态范围从A点移动到B点。示例:

 Dim wb as Workbook: Set wb = ThisWorkbook
 With wb
      .Sheets("Sheet1").Range(.Sheets"(Sheet1").Cells(1,1), .Sheets("Sheet1").Cells(3,3)).Value2 = _
           .Sheets("Sheet1").Range("D1:F3").Value
 end with

现在,一旦你尝试了自己的东西并回来时遇到了非常具体的编码问题,那么我可能更倾向于咳出解决方案。不要赌它:P&lt; 3