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

Mit VBA nur Zellen mit Inhalt kopieren

Mit VBA nur Zellen mit Inhalt kopieren
30.03.2021 12:26:48
ponny
Hallo Zusammen,
dies ist leider noch ein Topic aus dem Jänner, zu welchem ich leider nicht früher dazu kam.
Mein Problem ist, dass ich Inhalte aus vorgegebenen Zellen [Ishikawa 1 - Fehler 1..100], (leider verbundene Zellen), mittels Button "Import" auf [Ishikawa2] in eine Spalte [Ishikawa 2- Spalte A40:A139] einfügen möchte.
Vor dem Import möchte ich die Zellen leeren, und anschließend neu mit den Inahlten aus Ishikawa 1 befüllen.
Es sollen jedoch nur Zellen mit Inhalt nach einander kopiert werden und leere Zellen ausgelassen werden.
Zudem soll die jeweilige Kategorie "Mensch", "Maschine", usw. daneben [Spalte B40:B139] eingefügt werden.
Ist dies gemacht, und wurde jede Zeile anschließend bewertet - dies klappt schon mal :), soll mittels der Selektion (funktioniert bereits auch durch doppelklicken, ausgewählte Fehler aus Spalte A und Ketegorie aus Spalte B, mittels dem Button "Export auf [Ishikawa2] in [Ishikawa 3 in Spalte A6:A.. und Q6:..] kopiert werden. (anfangs erst wieder alle Zellen leeren)
- Ist es überhaupt möglich den Inhalt von verbundenen Zellen in eine einzige Zelles mittels VBA zu kopieren?
- ='Ishikawa 1'!F49 .. würde zwar funktionieren, jedoch hätte ich dann leere Zeilen und bei Änderungen kann ich es nicht reseten.
Hat ihr jemand eine Idee?
Danke schon mal recht herzlich für eure Unterstützung.
VG ponny
PS: Datei im Anhang und KW: 123
https://www.herber.de/bbs/user/145205.xlsm

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

Betreff
Datum
Anwender
Anzeige
AW: Mit VBA nur Zellen mit Inhalt kopieren
30.03.2021 13:30:35
fcs
Hallo pony,
ich hab schon eine Idee wie man es umsetzen kann - ist halt etwas mühselig für die 5 Kategorien den Versatz der Fehler Texte alle 5 Zeilen um eine Spalte nach links und abhängig der Kategorie mal unten, mal nach oben die Zeilen zu zählen.
- Ist es überhaupt möglich den Inhalt von verbundenen Zellen in eine einzige Zelles mittels VBA zu kopieren?
- ='Ishikawa 1'!F49 .. würde zwar funktionieren, jedoch hätte ich dann leere Zeilen und bei Änderungen kann ich es nicht reseten.

Kopieren funktioniert nicht, aber man kann die Inhalte aus den verbundene Zellen auslesen und in die Einzelzellen eintragen.
LG
Franz

Anzeige
AW: Mit VBA nur Zellen mit Inhalt kopieren
30.03.2021 13:57:55
ponny
Hallo Franz,
besser 1x mühselig als jedes mal händisch zu übertragen.
Aber schön zu hören, dass es mit verbundenen Zellen möglich ist :)
Das hilft mir schon mal weiter. Händische Masken automatisieren klingt immer einfacher als es ist.
BG und danke schon mal :)

AW: Mit VBA nur Zellen mit Inhalt kopieren
30.03.2021 16:02:37
fcs
Hallo ponny,
ich hab dir in der Datei die Makros zum Importieren aus "Ishikawa 1" und zum Exportieren nach "Ishikawa 3" überarbeitet.
https://www.herber.de/bbs/user/145212.xlsm
Am Start der Makros erfolgt jeweils eine Sicherheitsabfrage, damit nicht versehentlich Daten überschrieben bzw. gelöscht werden.
LG
Franz

Anzeige
Nachtrag - Mit VBA nur Zellen mit Inhalt kopieren
30.03.2021 16:17:11
fcs
Hallo ponny,
ich hatte im Export-Makro vergessen, die Kategorie in Spalte Q einzutragen.
Prüfe auf Blatt "Ishigara 3" mal den Inhalt von Zelle Q5. Hier steht per Formel immer "MENSCH" oder "HUMAN", je nach Spracheinstellung. Ist das so gewollt?
LG
Franz
Private Sub CB_Export5W_Click() 'Export nach Blatt "Ishikawa 3"
If MsgBox("Sollen die selektierten Fehler nach ""Ishikawa 3"" exportiert werden?", _
vbYesNo + vbQuestion, "E X P O R T   N A C H   I S H I K A W A   3") = vbNo Then Exit  _
Sub
Dim sRow As Long, tRow As Long
Application.ScreenUpdating = False
With Sheets("Ishikawa 3")
.Unprotect "123"
'Löschen der Daten - Inhalte der Zellen -  bevor diese neu importiert werden:
.Range("A6:Q25").ClearContents  'Eingaben 5 - Warum - Analyse
.Range("B29:Q48").ClearContents 'Eingaben Ergebnisse aus 5 - Warum-Analyse
tRow = 6 'ab dieser Zeile werden die Werte eingetragen
For sRow = 40 To 139
If Cells(sRow, 25) = "þ" Then
If tRow > 25 Then
MsgBox "In Blatt """ & .Name & """ sind alle Zeilen bis Zeile 25 ausgefüllt!"  _
& vbLf _
& "Bitte selektieren sie weniger Fehler und versuchen Sie es noch einmal.",  _
_
vbInformation + vbOKOnly, "E X P O R T   N A C H   I S H I K A W A   3"
Exit For
End If
.Cells(tRow, 1) = Cells(sRow, 1) ' Fehler 1-100
                .Cells(tRow, 17) = Cells(sRow, 2) ' Kategorie
tRow = tRow + 1
End If
Next sRow
.Protect "123"
End With
Application.ScreenUpdating = True
End Sub


Anzeige
AW: Nachtrag - Mit VBA nur Zellen mit Inhalt kopieren
30.03.2021 20:25:24
ponny
Hallo Franz,
super genial, danke.
Habe es gerade ins original File eingebettet und klappt einwandfrei.
Danke dir :))
Eine Frage hätte ich noch zum Sortieren.
Wenn ich Abwärts sortiere, auf der Ishikawa2 Tabelle, dann reiht er mir zuerst die n.a. auf und erst anschließend absteigend die restlichen Zeilen.
Selbst wenn ich als Wert nicht n.a. sondern "0" ausgebe, passiert dies so.
Was mache ich denn hier falsch?
Danke und viele Grüße
ponny

AW: Nachtrag - Mit VBA nur Zellen mit Inhalt kopieren
31.03.2021 17:48:25
fcs
Hallo ponny,
du darfst die 0 nicht in Anführungszeichen setzten!
=WENN(C40&lt&gt0;RUNDEN(MITTELWERT(C40:W40);1);0)
"0" ist Text und wird beim Sortieren abwärts vor den Zahlen einsortiert.
LG
Franz

Anzeige
AW: Nachtrag - Mit VBA nur Zellen mit Inhalt kopieren
01.04.2021 08:18:39
ponny
Hallo Franz,
bist der Beste :) danke :)
und ich war wohl schon Excel blind, das ich da nicht drauf gekommen war.
Danke nochmals, spitzen Hilfe :)

345 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige