größer 0 ja sonst nein

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: größer 0 ja sonst nein von: holg
Geschrieben am: 04.03.2005 18:21:27

hi,

Ich habe schon viel von diesem Forum gehört und mich auch ein wenig in der Recherche umgesehen aber für mich keine Lösung gefunden.

Ich habe nämlich folgendes Problem,
ich kopiere Zeile A nach Zeile B und möchte bei dem kopiervorgang beschriebene Zellen in Zeile B nur dann überschreiben wenn der Wert aus Zeile A größer 0 ist, das heißt wird eine leere Zelle aus Zeile A in eine beschriebene Zelle in Zeile B kopiert darf diese nicht gelöscht werden sondern es sollte der Inhalt bestehen bleiben.
Ich habe mit dem Recorder versucht: kopiere Zeile A nach Zeile B und füge Inhalte ein, aber dann werden wie gesagt meine bestehenden Inhalte in Zeile B durch leere aus Zeile A ersetzt.
Frage gibt es eine Formel die ich in Zeile B schreiben kann
die automatisch erkennt, wenn Wert größer 0 dann zulassen sonst nicht dann meinen Wert erhalten.
Vieleicht hattet ihr hier mal ein ähnliches Problem und eine Lösung?
Grüsse von der Ostsee
holg

Bild


Betrifft: AW: größer 0 ja sonst nein von: Josef Ehrensberger
Geschrieben am: 04.03.2005 18:42:54

Hallo Holg!

Vielleicht so!


Sub KopierenBedingt()
Dim arrZ1 As Variant, arrZ2 As Variant
Dim n As Integer
arrZ1 = Rows(4)   'Zeile die Kopiert wird
arrZ2 = Rows(10)  'Zeile in die eingefügt wird
   For n = 1 To UBound(arrZ1, 2)
      If arrZ2(1, n) = 0 Then
         arrZ2(1, n) = arrZ1(1, n)
      End If
   Next
Rows(10) = arrZ2
End Sub



Gruß Sepp

P.S.: Rückmeldung nicht vergessen!




Bild


Betrifft: AW: größer 0 ja sonst nein von: holg
Geschrieben am: 04.03.2005 19:05:55

hi,
das war ja eine schnelle Antwort,

da ich sonst nur mit dem recorder arbeite habe ich diesen Befehl in mein Macro eingefügt und gestartet, aber es tat sich nicht`s.
Auch habe ich den Makro in die Tabelle eingetragen aber da weiß ich nicht wie man ihn startet.
natürlich meinte ich vorhin zeile 1 und Zeile 2 wie ich auf A und B kam keine Ahnung.
Vieleicht hast du ja noch mal einen Zip für mich, ich probiere derweil noch ein wenig rum

aber schönen Dank schon mal
holg


Bild


Betrifft: AW: größer 0 ja sonst nein von: Josef Ehrensberger
Geschrieben am: 04.03.2005 19:08:29

Hallo Holg!

Der Code gehört in ein allgmeines Modul, also dort wo auch
die aufgezeichneten Makros landen!

Der Code von vorhin, arbeitet in die falsche Richtung;-))

so sollte es klappen.


Sub KopierenBedingt()
Dim arrZ1 As Variant, arrZ2 As Variant
Dim n As Integer
arrZ1 = Rows(1)   'Zeile die Kopiert wird
arrZ2 = Rows(2)  'Zeile in die eingefügt wird
   For n = 1 To UBound(arrZ1, 2)
      If arrZ1(1, n) <> 0 Then
         arrZ2(1, n) = arrZ1(1, n)
      End If
   Next
Rows(2) = arrZ2
End Sub



Gruß Sepp

P.S.: Rückmeldung nicht vergessen!




Bild


Betrifft: AW: größer 0 ja sonst nein von: holg
Geschrieben am: 04.03.2005 19:23:43

Hi
also das war kompetent
genauso habe ich mir das vorgestellt.

herzlichsten Dank
holg


Bild


Betrifft: auch über Button? von: holg
Geschrieben am: 04.03.2005 19:54:01

Hi,
ich muß noch einmal kurz nach haken, ich habe den Behehl gerade auf ein Button gelegt, aber da scheint was zu hakeln. Ich glaube diese beiden Befehle
Private Sub CommandButton1_Click()
Sub KopierenBedingt()
vertragen sich nicht,
nun weiß ich nicht wie ich das mit einander vereinbaren kann, da ich den Befehl mit auf ein Button legen möchte der schon mehrere Aktionen ausführt.

holg


Bild


Betrifft: AW: auch über Button? von: Josef Ehrensberger
Geschrieben am: 04.03.2005 19:59:02

Hallo Holg!

Das ist ja auch ein "Sub" zuviel;-))


Private Sub CommandButton1_Cklick()
Dim arrZ1 As Variant, arrZ2 As Variant
Dim n As Integer
arrZ1 = Rows(1)   'Zeile die Kopiert wird
arrZ2 = Rows(2)  'Zeile in die eingefügt wird
   For n = 1 To UBound(arrZ1, 2)
      If arrZ1(1, n) <> 0 Then
         arrZ2(1, n) = arrZ1(1, n)
      End If
   Next
Rows(2) = arrZ2
End Sub



Gruß Sepp

P.S.: Rückmeldung nicht vergessen!




Bild


Betrifft: AW: schon erledigt! Danke o.T von: holg
Geschrieben am: 04.03.2005 20:07:28




Bild


Betrifft: AW: einen noch "weil`s so gut war" von: holg
Geschrieben am: 04.03.2005 21:25:11

hi noch mal, nerv,

ich wollte den code so w.u.a. abändern das statt zeile 2, die Inhalte in Zeile 2:3 kopiert werden, es ist mißglückt da immer noch nur in Zeile2 kopiert wird
ändere ich den Code dahingehend ab das statt Z2 Z("2:3") steht erscheint ein Prozedur Fehler

vieleicht könnte mir jemand noch einen Rat geben.



Private Sub CommandButton1_Click()
Dim arrZ1 As Variant, arrZ2 As Variant
Dim n As Integer
arrZ1 = Rows(1)   'Zeile die Kopiert wird
arrZ2 = Rows("2:3")  'Zeile in die eingefügt wird'
   For n = 1 To UBound(arrZ1, 2)
      If arrZ1(1, n) <> 0 Then
         arrZ2(1, n) = arrZ1(1, n)
      End If
   Next
Rows("2:3") = arrZ2
End Sub



Bild


Betrifft: AW: einen noch "weil`s so gut war" von: Josef Ehrensberger
Geschrieben am: 04.03.2005 21:57:50

Hallo Holg!

Wie soll den der Inhalt einer Zeile in zwei Zeilen eingefügt werden ?


Gruß Sepp


P.S.: Rückmeldung nicht vergessen!




Bild


Betrifft: AW: von: holg
Geschrieben am: 04.03.2005 22:10:28

hi,
was manche leute so brauchen oder,
eigentlich nichts kompliziertes wenn ich das manuell mache makiere ich zwei zeilen und er fügt die eine Zeile in 2 ein.

per makro würde es so aussehen
Rows("22:22").Select
Selection.Copy
Rows("23:24").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End Sub

gruß holg


Bild


Betrifft: AW: von: Josef Ehrensberger
Geschrieben am: 04.03.2005 22:29:57

Hallo Holg!

Dann z.B. so!


      
Dim arrZ1 As Variant, arrZ2 As Variant
Dim n As Integer

arrZ1 = Rows(1)   
'Zeile die Kopiert wird
arrZ2 = Rows(2)  'Zeile in die eingefügt wird

   
For n = 1 To UBound(arrZ1, 2)
      
If arrZ1(1, n) <> 0 Then
         arrZ2(1, n) = arrZ1(1, n)
      
End If
   
Next

Rows(2) = arrZ2
Rows(3) = arrZ2 


     Code eingefügt mit Syntaxhighlighter 3.0





Gruß Sepp


P.S.: Rückmeldung nicht vergessen!




Bild


Betrifft: AW: bedankt von: holg
Geschrieben am: 04.03.2005 22:37:46

Hi,
hätte ich also nur noch mal diese Zeile in den Code einfügen brauchen und wenn es noch mehr zeilen sein würden den Rows(4) und(5) usw erweitern?
Rows(3) = arrZ2

holg


Bild


Betrifft: Ja! o.T. von: Josef Ehrensberger
Geschrieben am: 04.03.2005 22:39:09

Gruß Sepp


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Bilder aus Excelmappe entfernen"