Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1272to1276
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

VBA - Makro um Tabelle aufzufüllen

VBA - Makro um Tabelle aufzufüllen
theShire
Hallihallo!
Ich liebe Excel und brauche ganz dringend einen VBA-Kurs, denn diesbezüglich bin ich nach wie vor ein völliger Anfänger.
Aber gut, das nur abseits des Problems:
Folgendes Minimalbeispiel: https://www.herber.de/bbs/user/81228.xlsm
Ich habe eine Wertetabelle, (im Minimalbeispiel: Wochentage/Wochen), die täglich mit 4 Werten (im Minimalbeispiel: linker 4er-Block) angefüllt werden soll. Wenn ich das Makro ausführe, soll Folgendes passieren:
1. Das Makro soll in die Wertetabelle schauen und "Tag für Tag" feststellen, ob schon Werte vorhanden sind oder nicht. Oder anders formuliert: Es soll den "nächsten" 4er-Block freier Zellen dort finden.
2. In diesen freien 4er-Block sollen die Werte des linken 4er-Blocks kopiert werden.
3. Die Werte im linken 4er-Block sollen gelöscht werden.
Die Schritte 2 und 3 kriege ich notfalls noch hin, wenn ich das Makro soweit aufzeichne und mir den Code etwas näher zu Gemüte führe. Doch hat irgendjemand eine Idee für Schritt 1?
Liebe Grüße
Sebastian

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

Betreff
Benutzer
Anzeige
AW: VBA - Makro um Tabelle aufzufüllen
31.07.2012 23:01:09
Josef

Hallo Sebastian,
so?
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub moveInput()
  Dim rngInput As Range
  Dim vntInput As Variant
  Dim lngRow As Long, lngCol As Long
  
  With ActiveSheet
    Set rngInput = .Range("B3:C4")
    For lngCol = 6 To 112 Step 2
      For lngRow = 2 To 14 Step 2
        If Application.CountA(.Cells(lngRow, lngCol).Resize(2, 2)) = 0 Then
          rngInput.Copy .Cells(lngRow, lngCol)
          rngInput = ""
          rngInput(1, 1).Select
          Exit Sub
        End If
      Next
    Next
  End With
End Sub



« Gruß Sepp »

Anzeige
AW: VBA - Makro um Tabelle aufzufüllen
31.07.2012 23:10:54
theShire
Hi!
Okay, jetzt bin ich baff. Ich hab keine Ahnung wie, aber es funktioniert einwandfrei *lach*...
Vielen vielen Dank!
Und ich denke, ich muss mich allmählich wirklich mal damit beschäftigen. Das hat ja echt Potenzial!
Und einen wunderschönen Abend wünsche ich Dir noch!
Viele Grüße
Sebastian
AW: VBA - Makro um Tabelle aufzufüllen
01.08.2012 09:52:14
theShire
Hallo noch einmal!
Ich habe leider etwas vergessen zu erwähnen bei meiner Anfrage gestern:
Der besagte linke 4er-Block beinhaltet Formeln. Was aber in die Wertetabelle rüberkopiert werden soll, sind die ausgegebenen Werte dieser Zellen. Zudem (auch das hab ich leider vergessen) sollten die möglichst unformatiert rüberkopiert werden, sofern das möglich ist.
Hab versucht das als Makro aufzuzeichnen, fand dort aber nur diesen Passus im Code:
Selection.Copy
Range("F8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Womit ich ehrlich gesagt nicht allzu viel anfangen kann. Bzw. ich kann einigermaßen erkennen, was es bedeutet, aber nicht, ob oder wie ich das in Deiner Lösung da anwenden oder integrieren kann.
Gibts da vielleicht einen (einfacheren) Weg?
Liebe Grüße nochmal!
Sebastian
Anzeige
AW: VBA - Makro um Tabelle aufzufüllen
01.08.2012 17:54:19
Josef

Hallo Sebastian,
statt
rngInput.Copy .Cells(lngRow, lngCol)

schreibst du
.Cells(lngRow, lngCol).Resize(2, 2) = rngInput.Value


« Gruß Sepp »

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige