Попробуйте этот код:
Dim ws As Worksheet
Dim lrow As Long
Dim Amount As Range
Dim Bill As Range
Dim USD As Range
Dim Rngheaders As Range
Dim counter As Integer
Set ws = ThisWorkbook.Sheets("CSV Data PR")
Set Rngheaders = ws.Range("1:1")
lrow = ws.Cells(Rows.count, 1).End(xlUp).Row - 1
Set Amount = ws.Rows(1).Find(What:="Amount")
Set Bill = ws.Rows(1).Find(What:="Bill.qty")
Set USD = ws.Rows(1).Find(What:="In USD")
For counter = 1 To lrow
USD.Offset(counter, 0).Value = Amount.Offset(counter, 0).Value * Bill.Offset(counter, 0).Value
Next counter
Я установил тип переменной диапазонов Суммы, Билла и USD
Поскольку это уже диапазоны, вы можете обращаться к ним напрямую. Не нужно использовать Range(USD.Address)
Кроме того, вы не используете эту строку: Set Rngheaders = ws.Range("1:1")
Попробуйте и дайте мне знать, если это работает. Я не мог проверить это.
Ваш вопрос немного расплывчат, поскольку «круто выглядящее сообщение об успехе» не так уж много.
Однако, если вам интересно, отвечая на вопросы здесь, я воспроизвел функциональность двух функций «уведомлений» Stackoverflow, которые, похоже, понравились людям: баннер в верхней части страницы, который появляется, когда вы получаете новый значок. и т. д. и красные поля вокруг сайта, когда что-то не так с действием. Я использовал методы, подобные этим, чтобы показывать сообщения об успехе в своих приложениях, и мои клиенты их любили.
Примеры очень простые, все, что он делает, это показывает DIV где-то в документе и постепенно исчезает в зависимости от ситуации. Это все, что вам действительно нужно для начала.
В дополнение к этому, если вы являетесь поклонником Mac (и даже если нет), существует плагин jQuery Growl , основанный на ОС. X система уведомлений. Я также большой поклонник использования плагина BeautyTips для отображения сообщений рядом с элементом, поскольку пузырьки очень приятные и их легко стилизовать.
Просто добавьте новый абсолютно позиционированный div и используйте функцию fadeOut для анимации его непрозрачности с медленной анимацией.
Примерно так:
var newDiv = $('div').css({position: 'absolute', left: '100px', top: '100px'}).text('SUCCESS!!!').appendTo($('body'));
newDiv.fadeOut(5000);
Мне очень нравится jGrowl . Это очень ненавязчиво, поскольку сообщения появляются в левом углу, и пользователь может продолжать делать все, что он делает, но он получает обратную связь от системы. И это тоже выглядит очень модно:).
Это должно сработать:
function showSnazzySuccessMessage(text)
{
if($("#successMessage").length < 1)
{
//If the message div doesn't exist, create it
$("body").append("<div id='successMessage' style='text-align:center;vertical-align:middle;width:400px;position:absolute;top:200px;left:300px;border:2px solid black;background:green;margin:20px;display:none'>" + text + "</div>");
}
else
{
//Else, update the text
$("#successMessage").html(text);
}
//Fade message in
$("#successMessage").show('slow');
//Fade message out in 5 seconds
setTimeout('$("#successMessage").hide("slow")',5000);
}
Вам придется поиграть со стилем, чтобы он выглядел так, как вы хочу, но вы поняли.
Возможно, вы ищете что-то подобное или прямое затухание, подобное этому . Есть несколько эффектов на выбор .