Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
368to372
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
368to372
368to372
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeilen in Tabelle einfügen

Zeilen in Tabelle einfügen
26.01.2004 15:31:19
Haweka
Ich habe folgendes Problem:
Es gibt zwei Jahreszahlen, z.B. 2003 und 1975, die je nach Aufgabenstellung verschieden sein können. Diese stehen in Spalte A.
Nun möchte ich alle dazwischen liegende Jahre, d.h. 1976,1977 etc. automatisch zwischen die beiden vorgegebenen Jahreszahlen einfügen. Gleichzeitig soll in Spalte B eine Berechnung durchgeführt werden, die auf der in Spalte A eingefügten Jahreszahl ind der gleichen Zeile durchgeführt wird. Ich hoffe, ich habe mich verständlich ausgedrückt.
Haweka

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen in Tabelle einfügen
26.01.2004 16:07:39
Josef Ehrensberger
Hallo ?
Wie soll dasanze passieren - Makro?
Welche Berechnung soll in Spalte B durchgefürt werden?
Gruß Sepp
AW: Zeilen in Tabelle einfügen
26.01.2004 21:38:10
haweka
Es handelt sich um eine Berechnung, in dem ausgehend vom Ausgangsjahr (2003) der abgezinste Wert berechnet wird.Das hätte ich mit einer wenn-dann Abfrage gemacht.
Haweka
AW: Zeilen in Tabelle einfügen
26.01.2004 22:29:40
Josef Ehrensberger
Hi,
so ganz verstehe ich nicht was Du willst, aber
ein Makro als versuch.


Sub JahreEinfügen()
Dim start As String
Dim ende As String
Dim intC As Integer
   Do
   start = InputBox("Bitte geben Sie das Startjahr ein." & vbLf & _
      "Die Jahreszahl muss vierstellig sein!", "Start", CStr(Year(Date)))
      If start = "" Then Exit Sub
      If Not IsNumeric(start) Then start = 0
   Loop While Len(start) <> 4 Or CInt(start) < 1900 Or CInt(start) > 3999
   Do
   ende = InputBox("Bitte geben Sie das Endjahr ein." & vbLf & _
      "Die Jahreszahl muss vierstellig sein!", "Ende", CStr(Year(Date) - 10))
      If ende = "" Then Exit Sub
      If Not IsNumeric(ende) Then ende = 0
   Loop While Len(ende) <> 4 Or CInt(ende) < 1900 Or CInt(ende) > 3999 Or CInt(ende) >= start
start = CInt(start)
ende = CInt(ende)
   With Sheets(1) 'Tabelle anpassen
   .Range("A2:B1000").ClearContents
   'Bereich "A2:B1000" löschen
      For intC = 2 To (start - ende) + 2
      .Cells(intC, 1) = (start + 2) - intC
      .Cells(intC, 2).FormulaR1C1 = "=IF(RC[-1]>YEAR(TODAY())-10,""X"","""")"
      'Formel für Spalte "B" nur als Beispiel
      'Für Deine Formel am besten den Makrorekorder benutzen!
      Next
   End With
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gib bitte Bescheid, egal ob positiv oder negativ.
Gruß Sepp
Anzeige
AW: Zeilen in Tabelle einfügen
27.01.2004 09:26:28
Haweka
Hallo Sepp,
vielen Dank für die Hilfe,. Leider funktioniert das Ding bei mir nicht, wahrscheinlich bin ich zu blöd dazu.
UNter dem Untenstehenden Link findest du die test-Datei.
Vielleicht kannst sie noch mal anschauen
https://www.herber.de/bbs/user/3230.xls

Gruß
Haweka
AW: Zeilen in Tabelle einfügen
28.01.2004 10:24:03
Haweka
Hallo Sepp,
Dein Makro funktioniert hervorragend. Ich habe schon meine Formel eingepasst und auch das läuft. Jetzt habe ich nur noch eine bzw. zwei Fragen:
1)Wie kann ich die Eingabe so verändern, dass für den Datumsanfangs- und Endwert eine Zahl aus einem anderen Tabellenblatt automatisch übernommen wird.
2) Wie kann ich die Summe aus einer automatisch generierten Spalte erzeugen, die ja immer unterschiedlich viele Zeilen hat?
Danke
Hans
Anzeige
AW: Zeilen in Tabelle einfügen
28.01.2004 11:43:43
Josef Ehrensberger
Hallo!
Freud mich das es funktioniert!
Hier der Code, angepasst nach deinen wünschen.


Sub JahreEinfügen()
Dim start As String
Dim ende As String
Dim intC As Integer
Dim rngAdr As Range
'   Do
'   start = InputBox("Bitte geben Sie das Startjahr ein." & vbLf & _
'      "Die Jahreszahl muss vierstellig sein!", "Start", CStr(Year(Date) - 1))
'      If start = "" Then Exit Sub
'      If Not IsNumeric(start) Then start = 0
'   Loop While Len(start) <> 4 Or CInt(start) < 1900 Or CInt(start) > 3999
'   Do
'   ende = InputBox("Bitte geben Sie das Endjahr ein." & vbLf & _
'      "Die Jahreszahl muss vierstellig sein!", "Ende", CStr(Year(Date) - 10))
'      If ende = "" Then Exit Sub
'      If Not IsNumeric(ende) Then ende = 0
'   Loop While Len(ende) <> 4 Or CInt(ende) < 1900 Or CInt(ende) > 3999 Or CInt(ende) >= start
'start = CInt(start)
'ende = CInt(ende)
'##############################################################################
start = Sheets("TabelleMitStartwert").Range("A1") 'Tabelle ung Bereich anpassen
ende = Sheets("TabelleMitEndWert").Range("A1") 'Tabelle ung Bereich anpassen
'##############################################################################
   With Sheets(1) 'Tabelle anpassen
   .Range("A3:B1000").ClearContents
   'Bereich "A2:B1000" löschen
      For intC = 3 To (start - ende) + 3
      .Cells(intC, 1) = (start + 3) - intC
      .Cells(intC, 2).FormulaR1C1 = "=IF(RC[-1]>YEAR(TODAY())-10,""X"","""")"
      'Formel für Spalte "B" nur als Beispiel
      'Für Deine Formel am besten den Makrorekorder benutzen!
      Next
      '#######################################################################
      'Ich nehme an, das Die Formel für die Summe unter die Zellen mit
      'deinen Berechnungen soll, sonst Zeile bzw. Spalte anpassen
      Set rngAdr = Range(.Cells(3, 2), .Cells(intC - 1, 2))
      'Adresse des Bereichs ermitteln
      .Cells(intC, 2).FormulaLocal = "=SUMME(" & rngAdr.Address & ")"
      'oder
      .Cells(intC, 3).Value = WorksheetFunction.Sum(strAdr)
      'oder
      .Range("D5").Value = WorksheetFunction.Sum(strAdr)
      'jenachdem wo die Summe stehen sol
      '#######################################################################
   End With
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige