我想通过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中的任何功能,以保持这些公式行“活着”并自动插入行,方法是识别复制数据被粘贴所需的行。
答案 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