Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1328to1332
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

Werte mit Makro überschreiben wenn

Werte mit Makro überschreiben wenn
29.08.2013 16:04:07
Andre´
Hallo alle zusammen,
ich habe folgenden Tabellenaufbau:
Ab der Zelle C7 bis C... stehen Werte,
Userbild
wo im Blatt "% Verteilung"
Userbild
nach dem Wert in Spalte D gesucht werden soll.
Wurde der Wert gefunden, dann soll der Wert aus Spalte F auf die Zeilenwerte in die Tabelle "Ursprungsdaten"
gerechnet werden beginnend ab Spalte L
Bsp.:1) Übereinstimmung für xx-1
Formel in Zelle L7: RUNDEN(25*L7/100;0)
Formel in Zelle P7: RUNDEN(25*P7/100;0)
Bsp.:2) Übereinstimmung für xx-2
Formel in Zelle L11: RUNDEN(75*L11/100;0)
Das Blatt "Daten mit Verteilung"
Userbild
zeigt wie es danach aussehen soll.
Die Werte sollen sich aber nur in dem Tabellenblatt "Ursprungsdaten" verändern.
Das Blatt "Daten mit Verteilung" ist nur zum Verständnis.
Wie kann ich das mit einem Makro lösen?
Vielen Dank im Voraus!
MFG André
Hier noch die Datei: https://www.herber.de/bbs/user/87092.xlsx

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

Betreff
Datum
Anwender
Anzeige
AW: Werte mit Makro überschreiben wenn
29.08.2013 21:09:18
Andre´
Hallo Jürgen,
danke für die Meldung, das hilft mir leider nicht weiter.
Es kann nur mit einem Makro funktionieren, weil die Zellen im Blatt "Ursprungsdaten" überschrieben werden sollen.
MFG André

AW: Werte mit Makro überschreiben wenn
30.08.2013 11:59:06
Christian
hallo André,
zB. so:
Option Explicit
Sub TestIt()
Dim i As Long, j As Long
Dim objDict As Object
Dim strKey As String
Set objDict = CreateObject("Scripting.Dictionary")
With Sheets("% Verteilung")
For i = 2 To .Cells(.Rows.Count, 4).End(xlUp).Row
objDict(.Cells(i, 4).Value) = .Cells(i, 6).Value
Next
End With
With Sheets("Ursprungsdaten")
For i = 7 To .Cells(.Rows.Count, 3).End(xlUp).Row
strKey = .Cells(i, 3).Value
If objDict.Exists(strKey) Then
For j = 12 To .Cells(i, .Columns.Count).End(xlToLeft).Column
.Cells(i, j) = Application.Round(.Cells(i, j) * objDict(strKey) / 100, 0)
Next
End If
Next
End With
Set objDict = Nothing
End Sub
Gruß
Christian

Anzeige
AW: Werte mit Makro überschreiben wenn
30.08.2013 12:35:13
Andre´
Hallo Christian,
recht vielen Dank für die Unterstützung, echt SUPER!
Es funktioniert wie gewünscht :-)))
MFG André

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige