Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1020to1024
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

Zeilen kopieren von Erich.G

Zeilen kopieren von Erich.G
02.11.2008 10:42:00
Erich.G
Hallo Erich
Habe eine Frage zu dem Makro was du für mich geschrieben hast.
Option Explicit

Sub cbStart()
Dim strB As String
If Len(Cells(9, 1)) > 1 Then       ' in A9 muss mehr als 1 Zeichen stehen
strB = Left(Cells(9, 1), 2)     ' merke die beiden ersten Zeichen von A9
If worksheetEx(strB) Then       ' wenn ein Blatt mit dem Namen existiert
With Worksheets(strB)        '   arbeite in Blatt strB
.Rows(9).Insert           '   füge neue leere Zeile 9 in Blatt strB ein
Rows(9).Copy .Cells(9, 1) '   kopiere Zeile 9 aus Tab1 in Blatt strB
End With
Rows(9).Insert               '   füge neue leere Zeile 9 in Tab1 ein
Else                            ' sonst melde einen Fehler
MsgBox "Es gibt kein Blatt '" & strB & "'!", vbCritical, "Abbruch"
End If
Else
MsgBox "In A9 müssen mindestens zwei Zeichen stehen.", vbCritical, "Abbruch"
End If
End Sub



Function worksheetEx(strNam As String) As Boolean
' Wenn das Blatt nicht existiert, gibt es einen Fehler, der aber mit
'   "On Error Resume Next" übergangen wird.
'   worksheetEx wird nicht belegt und hat/behält den Defaultwert Falsch
' Wenn das Blatt existiert, ist der Index des Blattes > 0, worksheetEx ist Wahr
On Error Resume Next
worksheetEx = Worksheets(strNam).Index > 0
End Function


Wenn die Reihe 9 auf das andere Tabellenblatt kopiert wurde, hat man die Möglichkeit zu bestimmten
Zellen zB. die Zellen D9, E9, F9, G9 den Wert der Zelle D4 zwei mal zu addieren.
Das Ergebnis soll dann aber auch in den Zellen D9, E9, F9, G9 stehen.
Der Wert in Zelle D4 wird über ein Makro eingegeben, der sollte sich dann wenn er sich ändert
auch auf die Zellen übertragen werden.
Wenn in Reihe 9 eine neue Reihe hinein kopiert wird soll das selbe geschehen.
Sinn des ganzen ist:
Im Eingabeblatt wird eine Körperoberfläche errechnet.
In das Batt in dem die Reihe kopiert wird soll die Oberfläche errechnet werden wenn der Körper
isoliert ist.
Gruß Jochen

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilen kopieren von Erich.G
02.11.2008 18:42:00
Erich.G
Hi Jochen,
so ganz klar ist mir nicht geworden, was du möchtest.
Detailfrage:
Welche Zelle D4 meinst du - die auf dem Eingabeblatt oder die auf dem jeweiligen Ausgabeblatt?
Die Formel, die die Prozedur jetzt schreibt, addiert das Doppelte von D4 des Ausgabeblatts.
Meinst du das so?

Sub cbStart()
Dim strB As String, strD4 As String, rngC As Range
strD4 = "D9,E9,G9"                  ' Zellen, zu denen 2*D4 addiert wird
If Len(Cells(9, 1)) > 1 Then        ' in A9 muss mehr als 1 Zeichen stehen
strB = Left(Cells(9, 1), 2)      ' merke die beiden ersten Zeichen von A9
If worksheetEx(strB) Then        ' wenn ein Blatt mit dem Namen existiert
With Worksheets(strB)         '   arbeite in Blatt strB
.Rows(9).Insert            '   füge neue leere Zeile 9 in Blatt strB ein
Rows(9).Copy .Cells(9, 1)  '   kopiere Zeile 9 aus Tab1 in Blatt strB
' neu -------
For Each rngC In .Range(strD4)
rngC.Formula = "=2*$D$4+" & rngC
Next rngC
' neu -------
End With
With Rows(9)
.Copy
.Insert Shift:=xlDown      '   füge neue Zeile 9 in Tab1 ein
End With
Rows(9).ClearContents         '   leere Zeile 9 in Tab1
Cells(9, 1).Select
Else                             ' sonst melde einen Fehler
MsgBox "Es gibt kein Blatt '" & strB & "'!", vbCritical, "Abbruch"
End If
Else
MsgBox "In A9 müssen mindestens zwei Zeichen stehen.", vbCritical, "Abbruch"
End If
End Sub

In strD4 habe ich die Zelle F9 erst einmal weggelassen - dann sieht man besser, wo was passiert.
Hier eine Mappe zum Spielen: https://www.herber.de/bbs/user/56464.xls
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
P.S.: Hier hat das Thema begonnen: https://www.herber.de/forum/archiv/1016to1020/t1019121.htm

Anzeige
AW: Zeilen kopieren
02.11.2008 20:21:00
Jochen
Hallo Erich
Die Zelle D4 mit der dicke der Isolierung steht auf dem Ausgabeblatt.
Wenn ich in die Zelle D9 des Eingabeblattes zB. 500 eintrage dann soll wenn die Isolierung 30mm
dick ist in der Zelle des Ausgabeblattes 560 stehen.
Gruß Jochen
AW: Zeilen kopieren Anhang
02.11.2008 20:36:58
Jochen
Hallo Erich
Vielleicht ist die Erklärung so besser.
Die Zelle D4 steht auf dem Ausgabeblatt. Zb.30 in D4
Im Eingabeblatt seht in D9 500.
Dann soll Im Ausgabeblatt in Zelle D9 560 erscheinen.
Gruß Jochen
AW: Zeilen kopieren geht super
02.11.2008 21:52:06
Jochen
Hallo Erich
Habe deine Änderungen in mein Programm eingebaut.
Läuft super.
Hätte nicht gedacht das man ein Progamm mit VBA Befehlen so schnell umsetzen kann.
Alleine hätte ich das nie hinbekommen.
Danke für deine Hilfe.
Kannst du mir ein paar Bücher empfehlen die ich mir zulegen kann damit ich auch
einmal was in der Hand habe in dem ich suchen kann wenn ich was brauche.
Benutze aber nur Excel 97.
Gruß Jochen
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige