我们现在面临一个小问题。 我们想从一个单元格中获取货币并将其写在右侧的单元格中。 到目前为止,我们得到的代码如下:
Public Sub GETWährung()
Dim i As Integer
For i = 6 To 9
Dim w As String
w = Right(Cells(i, "I"), 3)
Cells(i, "I").Offset(0, 1).Value = w
Next i
End Sub
问题是,单元格中不包含货币,这是一种自定义格式。 例如: 在左侧您可以看到格式化的单元格,在右侧则显示输出。 感谢您的帮助。 非常感谢。
答案 0 :(得分:2)
在您的代码中,/**
* Resize a view.
*/
public static void resize(
View view,
float fromX,
float toX,
float fromY,
float toY,
float pivotX,
float pivotY,
int duration) {
resize(
view,
fromX,
toX,
fromY,
toY,
pivotX,
pivotY,
duration,
null,
null,
null);
}
/**
* Resize a view with handlers.
*
* @param view A view to resize.
* @param fromX X scale at start.
* @param toX X scale at end.
* @param fromY Y scale at start.
* @param toY Y scale at end.
* @param pivotX Rotate angle at start.
* @param pivotY Rotate angle at end.
* @param duration Animation duration.
* @param start Actions on animation start. Otherwise NULL.
* @param repeat Actions on animation repeat. Otherwise NULL.
* @param end Actions on animation end. Otherwise NULL.
*/
public static void resize(
View view,
float fromX,
float toX,
float fromY,
float toY,
float pivotX,
float pivotY,
int duration,
Callable start,
Callable repeat,
Callable end) {
Animation animation;
animation =
new ScaleAnimation(
fromX,
toX,
fromY,
toY,
Animation.RELATIVE_TO_SELF,
pivotX,
Animation.RELATIVE_TO_SELF,
pivotY);
animation.setDuration(
duration);
animation.setInterpolator(
new AccelerateDecelerateInterpolator());
animation.setFillAfter(true);
view.startAnimation(
animation);
animation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
if (start != null) {
try {
start.call();
} catch (Exception e) {
e.printStackTrace();
}
}
}
@Override
public void onAnimationEnd(Animation animation) {
if (end != null) {
try {
end.call();
} catch (Exception e) {
e.printStackTrace();
}
}
}
@Override
public void onAnimationRepeat(
Animation animation) {
if (repeat != null) {
try {
repeat.call();
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
}
将获得 value 的最后三个字符。货币代码不是值的一部分,而是表示形式的一部分。如果要获取显示在单元格中的文本,可以使用w
之类的内容-但是,我不建议这样做。
如果只想使用相同的格式,则可以使用
cells(i, "I").text
答案 1 :(得分:1)
尝试更改这些单元格的格式,添加此行(格式仅是示例):
Cells(i, "I").Offset(0, 1).NumberFormat = "$#,##0.00"
或在循环之外:
Range("E:F").NumberFormat = "$#,##0.00"
答案 2 :(得分:0)
另一种实现此目的的方法是使用“样式”方法,该方法将根据您的“区域设置”将单元格设置为“货币”,如下所示:
Cells(i, "I").Offset(0, 1).Style = "Currency"