Excel Makro! Wenn Zeile beschrieben, dann nächste Zeile... Wer kann mir bei diesem Problemchen behilflich sein?

1 Antwort

So richtig verstehe ich Dein Vorhaben noch nicht, aber ich zeige Dir mal, was in mir zusammengereimt habe.
Dabei gehe ich erstmal davon aus, dass nur die Zeilen 9 und 10 beschrieben werden sollen. So hast Du es erklärt.
Wenn das erweitert werden soll, sag nochmal Bescheid.
Ich schau morgen wieder vorbei.

Sub Makro2()
'
' Makro2 Makro
'
' Tastenkombination: Strg+e
'
With ActiveSheet
.Range("D23:D29").Copy
If IsEmpty(.Range("E9")) Then
.Range("E9").PasteSpecial Paste:=xlPasteAll, Transpose:=True
Else: .Range("E10").PasteSpecial Paste:=xlPasteAll, Transpose:=True
.Range("D23:D29").ClearContents
End If
End With
Application.CutCopyMode = False
End Sub

Hallo,

vielen Dank für die schnelle Antwort. Mir ist soeben mein kleiner Fehler aufgefallen. 

Ich möchte die Daten die zwischen D23:D29 sind in die Zeilen E9:K9 transponieren. Falls jedoch diese Zeilen besetzt sein sollten, möchte ich dass er diese in die unteren Zeilen einsetzt. Also in diesem Falle dann in die Zeilen E10:K10. Im Makro habe ich dann anschließend die Daten zwischen D23:D29 löschen lassen, damit ich die nächsten Artikelmerkmale sofort einfügen kann.Könnte man natürlich auch direkt draufkopieren.

Ich bedanke mich schon mal für alle Antworten. 

0
@Gutefrageguest

So läuft mein Code doch, oder?
Wenn immer in die nächst freie Zelle ab E9 kopiert werden soll, dann sollte das so klappen:

Sub Makro2()
'
' Makro2 Makro
'
' Tastenkombination: Strg+e
'
Dim Zelle As Range
Dim Bereich As Range
Set Bereich = Range("E9:E1000")
For Each Zelle In Bereich
If IsEmpty(Zelle) Then Exit For
Next Zelle
With ActiveSheet
.Range("D23:D29").Copy
Zelle.PasteSpecial Paste:=xlPasteAll, Transpose:=True
.Range("D23:D29").ClearContents
End With
Application.CutCopyMode = False
End Sub
2

Excel Funktionen: Inhalt aus einem Blatt in anderes automatisch kopieren

Hallo Leute,

ich habe mit Excel folgendes erstellt:

Ich habe in einem "Blatt" eine Eingabemaske entwickelt (mit Makros), die etwas auswertet und in ein neues "Blatt" kopiert, und den Inhalt der Eingabemaske wieder löscht, sodass eine neue Eingabe erfolgen kann! Funktioniert alles Prima, und das "neu ausgewertete" wird über das alte kopiert.

Bsp.: In Zelle C3 steht ein bestimmtes Wort, Beispielsweise "ROT". Dieser Inhalt soll dann in das Blatt "Tabelle4" kopiert werden. Sobald ich in der Eingabemaske neue Werte eingebe und "GELB" da steht, soll dies in "Tabelle5" kopiert werden. Also alles automatisch.

Gibt es eine Formel, mit der man diesen Schritt automatisieren kann, sodass der ganze Inhalt komplett automatisch in die richtige Tabelle kopiert wird?!

Ist bisschen kompliziert, aber vllt gibt es hier ja ein paar Pro's? :)

Danke, fireless91

...zur Frage

Fehlermeldung Excel VBA-Makro

Hi, ich möchte gerne in 15 verschiedenen Zeilen folgendes Makro anlegen. Wenn in Spalte J eine 1(2/3/4/5) eingegeben wird, soll der Wert in der gleichen Zeile in Feld C(D/E/F/G) um eins erhöht werden. Ich habe mir hier: http://www.gutefrage.net/frage/excel-wert-erhoehen den Code rauskopiert und entsprechend geändert. Ist erstmal nur für eine Zeile, würde ich dann manuell umändern für jede extra Zeile:

Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("J3")) Is Nothing Then Select Case Target.Value Case 1 Range("B3").Value = Range("B3").Value + 1 Case 2 Range("C3").Value = Range("C3").Value + 1 Case 3 Range("D3").Value = Range("D3").Value + 1 Case 4 Range("E3").Value = Range("E3").Value + 1 Case 5 Range("F3").Value = Range("F3").Value + 1

End Select Target.Value = 0 End If End Sub

Er führt die gewünschte Funktion aus, aber ich bekomme folgende Fehlermeldung:

"Laufzeitfehler ´-2147417848 (80010108)Die Methode ´Value für das Objekt ´Range` ist fehlgeschlagen"

wie gesagt, macht er aber alles was er soll. Beim zweiten Versuch stürzt Excel dann komplett ab.

Kann jemand helfen?

...zur Frage

Excel VBA automatisch nächste freie Spalte nehmen?

hi hab mir mit Makros in VBA was zum übertragen von Daten in eine andere Arbeitsblatt zusammengebastelt. Dort soll es in eine Tabelle eingefügt werden die sich automatisch um eine Spalte nach rechts erweitern soll mit jedem Eintrag.

Sub inauftragplus()
   Range("D11:D22").Select
   Selection.Copy
   Sheets("Datenbank").Select
   ActiveWindow.SmallScroll Down:=-81
   Range("B9").Select
   ActiveSheet.Paste
   Sheets("Eingabe").Select
   Application.CutCopyMode = False
   Selection.ClearContents
End Sub
...zur Frage

Excel VBA Fehler '1004' "Anwendungs- oder objektdefinirter Fehler" Was tun?

Mein Programm Prüft ob in einer bestimmten Zelle eine Stadt steht und kopiert dann aus "Diverses" eine bestimmte Range. Nur leider erscheint immer der Laufzeitfehler '1004' Anwendungs- oder objetdifinirter Fehler. Kann mir da jemand vieleicht Helfen?

Private Sub CommandButton1_Click()

If Cells(9, 4) = "Düsseldorf (3885)" Then

  Sheets("Diverses").Select
  Sheets("Diverses").Range(L2, L8).Select //Fehler in der Zeile
  Selection.Copy
 
  Sheets("IT Banf").Select
  Sheets("IT Banf").Range(A35, A41).Select
  ActiveSheet.Paste
 
  Sheets("Diverses").Select
  Sheets("Diverses").Range(L9, L13).Select
  Selection.Copy
  
  Sheets("IT Banf").Select
  Sheets("IT Banf").Range(C35, A39).Select
  ActiveSheet.Paste


End If


End Sub
...zur Frage

Werte aus Tabelle mit Makro archivieren?

Hallo Zusammen, ich habe mir ein Makro aufgezeichnet, welches Werte aus einer Tabelle in ein anderes Tabellenblatt kopiert. Die Werte in der Ursprungstabelle ändere ich aber ständig und ich will, dass beim aktivieren des Makros, die zuvor kopierten Werte nicht überschrieben werden sondern neben den bereits "archivierten" Werten eingefügt wird. So sieht das Makro bis jetzt aus:

Sub test() ' test Makro Range("C5:D19").Select Selection.Copy Sheets("Tabelle1").Select Range("A2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Tabelle2").Select Range("A7:B8").Select Application.CutCopyMode = False Selection.Copy Sheets("Tabelle1").Select Range("A18").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Tabelle2").Select Application.CutCopyMode = False Range("C7:C19").Select Selection.ClearContents Range("C7").Select Sheets("Tabelle1").Select Range("D2").Select Sheets("Tabelle2").Select End Sub

Problem ist, dass die alten Werte in dem neuen Tabellenblatt immer überschrieben werden. Könnt Ihr mir eine Funktion nennen, damit die Werte nicht überschrieben werden, sondern bei jedem mal ausführen des Makros die Werte in eine neue Spalte kopiert werden.

Vielen Dank im Voraus. Grüße Stephan

...zur Frage

Zelleninhalt mit Makro/ Vba verschieben

Moin,

ich hab folgendes Problem, und zwar möchte ich eine Makrofunktion erstellen mit der man den Zellinhalt einer markierten Zelle in eine andere frei wählbare Zelle kopieren kann. Bis jetzt sieht meine Funktion so aus:

Sub Makro()

Dim Quellbereich As Range Set Quellbereich = ActiveCell

Quellbereich.Copy Range("C1").Select Selection.PasteSpecial Paste:=x1Values, Operation:=x1None, SkipBlanks:= False, Transpose:=False Application.Cutcopymode = False Quellbereich.Select Quellbereich = "" Range("C1").Select

End Sub

Jetzt ist meine Frage, wie ich "Range("C1") auch über die Auswahl mit der Maus steuern kann. Ich stell mir das mit Pause/Wait und Input neue Zellenauswahl oder so vor. Evnt. auch das man das Makro wie bisher über Strg+y startet und anschließend die Quell und die Zielzelle nach einander markiert.

...zur Frage

Was möchtest Du wissen?