Microsoft Excel

Herbers Excel/VBA-Archiv

VBA multiplizieren mit 1

Betrifft: VBA multiplizieren mit 1 von: Norbert
Geschrieben am: 23.09.2020 00:11:10

Hallo Excelfreunde der Nacht,


folgendes Makro läuft eigentlich einwandfrei

Sub Artikelnummer_mit_1_multiplzieren()
'
' Artikelnummer_mit_1_multiplzieren Makro
'

'
   
    Range("k2").Select
    ActiveCell.FormulaR1C1 = "1"
        Range("k2").Select
        Selection.Copy
        
            Range("K3:K50").Select
                Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
                SkipBlanks:=False, Transpose:=False
                
             Range("y3:y50").Select
                Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
                 SkipBlanks:=False, Transpose:=False
                
            Range("am3:am50").Select
                Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
                SkipBlanks:=False, Transpose:=False
                
     Range("am2").Select
     
End Sub


in den Spalten die mit 1 multipliziert werden stehen nicht immer die gleiche Anzahl an Werten. So habe ich nach dem ausführen des Makros etliche "Nullen" dastehen.

für die Optik wäre es schön wenn nur Zellen mit werten mit 1 multipliziert würden.


hoffe Ihr könnt mi helfen


Gruß

Norbert

Betrifft: AW: VBA multiplizieren mit 1
von: Daniel
Geschrieben am: 23.09.2020 00:20:14

Hi

Warum mit Selekt?
Das ist unnötig.

Schränke vor dem Einfügen den Zellbereich auf die Zellen mit Zahlen ein.
Das machst du über die Menüfunktion
Start - Bearbeiten Suchen und Auswählen - Inhalte - Konstanten mit Zahlen

Der Recorder zeichnet das auch auf, so dass du dir mit deinem Kenntnisstand den VBA-Code selbst erarbeiten kannst.

Gruß Daniel

Betrifft: AW: VBA multiplizieren mit 1
von: Norbert
Geschrieben am: 23.09.2020 00:32:45

Hallo Daniel

Danke funktioniert super,
wenn man weiß wie

Gruß
Norbert

Betrifft: AW: VBA multiplizieren mit 1
von: ralf_b
Geschrieben am: 23.09.2020 00:25:51

SkipBlanks:=False schon mal versucht das auf true zu setzen?

das geht auch so , ohne select

Range("K3:K50, y3:y50, am3:am50").PasteSpecial ....

Beiträge aus dem Excel-Forum zum Thema "VBA multiplizieren mit 1"