Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
716to720
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
716to720
716to720
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

If Anweisung

If Anweisung
09.01.2006 15:56:01
Bulli
Hallo VBA Freaks,
ich habe folgendes Problem:
ich möchte Preise, die in der Spalte B stehen per Makro in eine einem bestimmten Monat zugeprdneten Spalte kopieren, so dass diese genau für diesen Monat gelten.
Dies ist notwendig, damit die Preise nicht für jedes Monat neu eingegeben werden müssen. Über Excel lässt sich das Probelm auch nicht so einfach lösen, da die Auswertungen, die hinten dranhängen natürlich bei Änderung des aktuellen Preises auch abgeändert würden.
Man könnte natürlich die Preise auch nach Aktualisierung einfach in die entsprechende Spalte kopieren. Ich denke, aber dass dies wesentlich eleganter geht...
Anbei mein Code, eine Mischung aus VBA Rekorder und eigenen laienhaften Versuchen, der leider nicht so ganz funktioniert:

Sub Monatspreise()
ActiveSheet.Select
Range("B7").Select
If ActiveCell.Value = "Januar" Then Range("B8:B999").Select
Selection.Copy
Range("C8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
If ActiveCell.Value = "Februar" Then Range("B8:B999").Select
Selection.Copy
Range("F8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
If ActiveCell.Value = "März" Then Range("B8:B999").Select
Selection.Copy
Range("I8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
' und so weiter und so fort bis Dezember
End Sub

vielen Dank für Euer Bemühen,
viele Grüße,
Bulli

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: If Anweisung
09.01.2006 19:14:19
ChrisL
Hallo Bulli
Vielleicht so...
Sub Monatspreise()
Range(Cells(8, MonatSpaltenIndex(Range("B7"))), Cells(999, MonatSpaltenIndex(Range("B7")))).Value = _
Range("B8:B999").Value
End Sub

Private Function MonatSpaltenIndex(MonatString As String) As Byte
' Funktion übersetzt Monat (Text-String) in Spalten-Index (Ganzzahl)
' d.h. Januar = Spalte 3, Februar = Spalte 6, März = Spalte 9 etc.
Dim i As Byte
For i = 1 To 12
If UCase(MonatString) = UCase(CStr(Format("1." & i & ".00", "MMMM"))) Then
MonatSpaltenIndex = i * 3
End If
Next i
End Function

Gruss
Chris
Anzeige
AW: If Anweisung
10.01.2006 18:19:27
Bulli
Hallo Chris,
wow, Respekt und vielen Dank,
funktioniert fantastisch.
viele Grüße,
Bulli
Danke für die Rückmeldung o.T.
10.01.2006 18:42:02
ChrisL
Gruss
Chris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige