Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1048to1052
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Spalte durchlaufen und multiplitzieren

Spalte durchlaufen und multiplitzieren
08.02.2009 23:55:26
Roland
Hi,
wie kann ich die Spalte S mit einem Makro von 5 bis 1000 durchlaufen und dabei jeden gefundenen Wert mit 5 multiplitzieren ?
Danke Roland

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalte durchlaufen und multiplitzieren
09.02.2009 00:11:00
chris
Hallo Roland.
Diesen Code in ein Modul Kopieren.
Option Explicit

Sub lauf()
Dim x As Integer
Application.ScreenUpdating = False
For x = 1 To Cells(Rows.Count, 19).End(xlUp).Row
If Application.IsNumber((Cells(x, 19))) Then
Cells(x, 19) = Cells(x, 19) * 5
End If
Next
Application.ScreenUpdating = True
End Sub


gruß Chris
P.s Rückmeldung wäre nett !

AW: Spalte durchlaufen und multiplitzieren
09.02.2009 00:20:56
Uwe
Hi Roland,
da hätte ich zwei Versionen:

Sub MalFünf()
Range("IV1") = 5
Range("IV1").Copy
Range("S5:S1000").PasteSpecial Paste:=xlAll, Operation:=xlMultiply, SkipBlanks:= _
False, Transpose:=False
Range("IV1").Delete
End Sub
Sub MalFünfSchleife()
Dim Zelle As Range
For Each Zelle In Range("S5:S1000")
Zelle.Value = Zelle.Value * 5
Next Zelle
End Sub


Die erste ist die schnellere, ohne Schleife, dafür muss aber die Zelle IV1 frei sein (oder irgendeine andere). Das entspricht der manuellen Vorgehensweise:
5 in die Zelle IV1 schreiben;
IV1 kopieren;
S5:S1000 auswählen;
Rechte Maustaste/ Inhalte einfügen/ Vorgang: Multiplizieren.
Das zweite ist eine Schleife, die aber um einiges langsamer ist.
Auf Fehlerbehandlung und Ausschalten des ScreenUpdatings habe ich erst mal verzichtet.
Hilft Dir das?

Anzeige
und noch eine Möglichkeit
09.02.2009 08:03:00
Tino
Hallo,
hier noch eine Möglichkeit die recht schnell ist.
Sub Multiblizieren_mit_5()
Dim Bereich As Range
Dim meAr
Dim LCount As Long
Set Bereich = Range("S1", Cells(Rows.Count, 19).End(xlUp))

If Bereich.Cells.Count > 1 Then
    
    meAr = Bereich
    For LCount = 1 To Ubound(meAr)
     If IsNumeric(meAr(LCount, 1)) And Not IsEmpty(meAr(LCount, 1)) Then
      meAr(LCount, 1) = meAr(LCount, 1) * 5
     End If
    Next LCount
    Bereich = meAr

ElseIf Not IsEmpty(Bereich) And IsNumeric(Bereich) Then
    
    Bereich = Bereich * 5

End If

End Sub


Gruß Tino

Anzeige
Danke allen drei , oT
09.02.2009 09:27:58
Roland

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige