Anzeige
Archiv - Navigation
1632to1636
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
Automatisch Range mit Eingabewert multiplizieren
18.07.2018 08:43:57
Torsten
Hallo,
ich habe ein paar Fragen.
1. Ich habe eine Excel-Liste erstellt und möchte das eine bestimmte Range mit einem Eingabewert multipliziert wird. Bei mir funktioniert dieser Befehl allerdings nur für die erste Zelle, danach kommt eine Fehlermeldung. Was ist hier falsch?
Range("C10:C19").Select
Selection.Copy
Range("F10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("F10:F19").Select
Dim Eingabewert As Long
Eingabewert = InputBox("Wieviel Stück sollen produziert werden?")
For Each Zelle In Selection
If Not (Zelle.HasFormula) Then
Zelle.Formula = "=" & Zelle.Value & "*" & Val(Eingabewert)
End If
Next Zelle
End Sub

2. Möchte ich das die Eingabe des Wertes per Touchscreen möglich ist. Also wenn man auf den Knopf "Menge" drückt, müsste ein Zahlenblock aufploppen wo man die Menge eingeben kann... Geht sowas überhaupt?
Sonnige Grüße aus dem hohen Norden.

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Rückfrage
18.07.2018 08:51:17
Bernd
Servus Torsten,
in welchen Spaltenabständen sollen die Ranges eingefügt werden?
von "C" bis "F" sind es 3. Interpretiere ich richtig, dass dann die nächste zu befüllende Range als "I" sein soll?
Lade im Idealfall eine Beispielmappe hoch.
Grüße, Bernd
AW: Automatisch Range mit Eingabewert multiplizieren
18.07.2018 08:59:15
Hajo_Zi
bei mir läuft der Code.
Option Explicit
Sub kopieren()
Dim zelle As Range
Dim Eingabewert As Long
Range("C10:C19").Copy
Range("F10").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Eingabewert = InputBox("Wieviel St?ck sollen produziert werden?")
For Each zelle In Range("F10:F19")
If Not (zelle.HasFormula) Then
zelle.Formula = "=" & zelle.Value & "*" & Val(Eingabewert)
End If
Next zelle
End Sub

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
AW: Automatisch Range mit Eingabewert multiplizieren
18.07.2018 09:13:10
Bernd
Servus Torsten,
bitte ohne Kennwort nochmal hochladen.
Grüße, Bernd
AW: Automatisch Range mit Eingabewert multiplizieren
18.07.2018 09:17:09
Torsten
617TORPOL sorry :D
AW: Automatisch Range mit Eingabewert multiplizieren
18.07.2018 09:19:07
UweD
Hallo
ohne select (braucht mal in 99% der Fälle nicht)
und auf einmal ohne Schleife
Sub tt()
Dim Eingabewert As Integer
Dim RNG As Range
'Zielbereich
Set RNG = Range("F10:F19")
'Werte kopieren
RNG.Value = Range("C10:C19").Value
'Sind überhaupt Zahlen vorhanden
If WorksheetFunction.Count(RNG) = 0 Then
MsgBox "keine Werte enthalten"
RNG.ClearContents
Exit Sub
End If
'Multiplikator erfassen
Eingabewert = InputBox("Wieviel Stück sollen produziert werden?", , 30)
'Hilfszelle füllen und copieren
With Cells(1, Cells.SpecialCells(xlCellTypeLastCell).Column + 1)
.Value = Eingabewert
.Copy
'Alle Zahlen auf einmal multiplizieren
RNG.SpecialCells(xlCellTypeConstants, 1).PasteSpecial _
Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
'Hilfszelle löschen
.ClearContents
End With
End Sub

LG UweD
Anzeige
AW: Automatisch Range mit Eingabewert multiplizieren
18.07.2018 09:27:33
Torsten
Danke UweD, das ist schon perfekt.
Gibt es denn noch die Möglichkeit den Eingabewert über Touch (also Nummernblock einblenden) einzugeben? Habe sowas schonmal gesehen, allerdings weiss ich nicht ob sowas in dieser Kombination funktioniert.
AW: Automatisch Range mit Eingabewert multiplizieren
18.07.2018 10:26:03
Torsten

Sub tt()
Dim Eingabewert As Integer
Dim RNG As Range
'Zielbereich
Set RNG = Range("F10:F19")
'Werte kopieren
RNG.Value = Range("C10:C19").Value
'Sind überhaupt Zahlen vorhanden
If WorksheetFunction.Count(RNG) = 0 Then
MsgBox "keine Werte enthalten"
RNG.ClearContents
Exit Sub
End If
 'Multiplikator erfassen
Eingabewert = InputBox("Wieviel Stück sollen produziert werden?", , 30)
'Hilfszelle füllen und copieren
With Cells(1, Cells.SpecialCells(xlCellTypeLastCell).Column + 1)
.Value = Eingabewert
.Copy
'Alle Zahlen auf einmal multiplizieren
RNG.SpecialCells(xlCellTypeConstants, 1).PasteSpecial _
Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
'Hilfszelle löschen
.ClearContents
End With
End Sub

Den "fett" markierten Bereich würde ich jetzt gerne über UserForm1 eingeben. Das ist ein Zahlenblock der hier schonmal für mich erstellt wurde. Ist das möglich? Habs versucht irgendwie einzubauen, allerdings versteckt sich die Userform hinter der Inputbox, oder poppt gar nicht erst auf... :(
Anzeige
AW: Automatisch Range mit Eingabewert multiplizieren
18.07.2018 10:31:13
Bernd
Servus Torsten,
probier mal...
https://www.herber.de/bbs/user/122755.xlsm
müsstest du noch auf deine Tabelle anpassen, aber bekommst du sicher allein hin :-)
Grüße, Bernd
AW: Automatisch Range mit Eingabewert multiplizieren
18.07.2018 10:50:30
Torsten
Wahnsinn... Mega fettes Dankeschön!!!!!

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige